-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major
-
Component/s: clearcase-plugin
-
None
-
Environment:Platform: All, OS: Linux
Using:
Hudson Base: v1.321
Clearcase Module: V1.0.2
OS: Redhat RHEL 4.0
Using UCM Clearcase
Problem:
Some jobs are set up to poll for change to files in view to UCM Clearcase
server. It is expected that a build would be started after a rebase operation
which updates files in the stream i.e. Files in the view have been updated.
However this does not always happen. It appears that this is because the
cleartool lshistory command only checks for updates to the branch. This is
because the lshistory command includes the parameter: -branch brtype:stream_name
In the implementation of UCM Clearcase used, a file is only placed in a branch
if it has been modified by the stream. Therefore, a build will only be
triggered if the rebase operation includes an update to a file which has
already been modified in the stream.
Note: Browsing the issue database I see that there are many trackers raised
with respect to triggering builds via Clearcase. As already noted elsewhere
this is partly because Clearcase is not designed to be used in a CI system.
However, wouldn't it be more flexible and robust to extend the configuration so
that the user can specify the clearcase command to use to detect changes and
also some sort of filter? The filter could be a set of regexp which if matched
tell the system to ignore that line of output from the command would most
probably suffice.
Below is configuration and output from polling command:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Auto Build: UCM Clearcase</description>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.plugins.clearcase.ClearCaseUcmSCM">
<viewName>ARCH_smithp5_dv</viewName>
<mkviewOptionalParam></mkviewOptionalParam>
<filteringOutDestroySubBranchEvent>false</filteringOutDestroySubBranchEvent>
<useUpdate>true</useUpdate>
<removeViewOnRename>false</removeViewOnRename>
<excludedRegions></excludedRegions>
<loadRules>//view/ARCH_smithp5_dv/vob/sdk_main</loadRules>
<useDynamicView>true</useDynamicView>
<viewDrive>//view</viewDrive>
<multiSitePollBuffer>0</multiSitePollBuffer>
<stream>SDK_smithp_deliver1@/vob/sdk_pvob</stream>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<triggers class="vector">
<hudson.triggers.SCMTrigger>
<spec>0 * * * *</spec>
</hudson.triggers.SCMTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>echo "ViewPath=${CLEARCASE_VIEWPATH}"
echo "Viewname=${CLEARCASE_VIEWNAME}"
build.sh
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>
Clearcase Polling Log:
Started on Nov 18, 2009 8:01:18 AM
[ARCH_smithp5_dv] $ cleartool pwv -root
/view/ARCH_smithp5_dv
[ARCH_smithp5_dv] $ cleartool lshistory -all -since 17-nov-09.18:01:23utc+0000 -
fmt '\"%Nd\" \"%u\" \"%En\" \"%Vn\" \"%e\" \"%o\" \"%[activity]p\" \n%c\n' -
branch brtype:SDK_smithp_deliver1 -nco view/ARCH_smithp5_dv/vob/sdk_main
Done. Took 0.77 sec
No changes