Compares configuration records created by clearmake, omake, or clearaudit
Product | Command Type |
---|---|
ClearCase | cleartool subcommand |
Attache | command |
Platform |
---|
UNIX |
Windows |
The diffcr command compares the configuration records (CRs) of two derived objects. A CR is produced by clearmake, clearaudit, and omake when they finish executing a build script in a dynamic view. By comparing CRs, you can determine these differences:
Versions of MVFS objects used as sources or produced during the build (includes elements and other objects whose pathnames are under a VOB mount point)
Versions of non-MVFS objects that appeared as makefile dependencies during the build (explicit dependencies declared in the makefile)
The total number of times an object was referenced during a build, and the first target in which that object was referenced
Build options (which can come from the command line, the operating system environment, the makefile itself, and so on)
The build script executed
Noncritical differences, such as the date/time of the build, dynamic view name, or host name
NOTE: Not all of this information is available from configuration records of DOs created by clearaudit.
The do-pname arguments specify the derived objects to be compared. You can specify a derived object in these ways:
Use a derived-objectID (DO-ID), which identifies a derived object created in any dynamic view. A DO-ID takes the following form:
DO-pname@@creation_date.creation_time.id-number
myprog.o@@11-Nov.17:39.3871
To display a derived object's DO-ID, use lsdo.
Use a standard pathname, which identifies a DO created in the current dynamic view. For example, myprog.obj.
Use a view-extended pathname, which identifies a DO created in another dynamic view. For example, /view/jpb/usr/src/myprog.o.
You can compare a nonshareable DO in your view to a nonshareable DO created in another view, but you must use a view-extended pathname to specify the DO in the other view.
diffcr supports the same filter and report style options as the catcr command. This means that you can restrict the comparison to particular subtargets of the do-pnames, control which objects appear in the listing, select how pathnames are displayed, and expand the listing to include comments and other supplementary information. See the catcr reference page for additional information.
diffcr maintains a cache of tags of inaccessible views. For each view-tag, the command records the time of the first unsuccessful contact. Before trying to access a view, the command checks the cache. If the view's tag is not listed in the cache, the command tries to contact the view. If the view's tag is listed in the cache, the command compares the time elapsed since the last attempt with the timeout period specified by the CCASE_DNVW_RETRY environment variable. If the elapsed time is greater than the timeout period, the command removes the view-tag from the cache and tries to contact the view again.
The default timeout period is 60 minutes. To specify a different timeout period, set CCASE_DNVW_RETRY to another integer value (representing minutes). To disable the cache, set CCASE_DNVW_RETRY to 0.
COMPARING DIFFERENCES IN SUBTARGETS. Default: diffcr compares the CRs for do-pname-1 and do-pname-2 only, not for any of their subtargets.
First seen in target
).SPECIFYING KINDS OF OBJECTS TO DISPLAY. Default for UNIX systems: diffcr reports on all objects in the CRs, which may include source files, directories, and symbolic links; derived objects; makefiles; view-private files, and non-MVFS objects that were explicitly declared as dependencies.
Default for Windows systems: diffcr reports on all objects in the CRs, which may include source files and directories; derived objects; makefiles; view-private files, and (for builds performed with omake) non-MVFS objects that were explicitly declared as dependencies.
CONTROLLING REPORT APPEARANCE. Default: diffcr reports, in three sections, on MVFS objects, variables and options, and the build script. The report uses full pathnames, and it omits comments and directory versions.
SPECIFYING THE DERIVED OBJECTS. Default: None.
The UNIX examples in this section are written for use in csh. If you use another shell, you may need to use different quoting and escaping conventions.
The Windows examples that include wildcards or quoting are written for use in cleartool interactive mode. If you use cleartool single-command mode, you may need to change the wildcards and quoting to make your command interpreter process the command appropriately.
In cleartool single-command mode, cmd-context represents the UNIX shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt. In Attache, cmd-context represents the workspace prompt.
Compare the CRs of two derived objects built at the name bgrs. Use lsdo to determine the DO-ID of the derived object that is not visible in the current dynamic view.
cmd-context lsdo -zero bgrs
11-Dec.15:24 "bgrs@@11-Dec.15:24.1487"
11-Dec.12:05 "bgrs@@11-Dec.12:05.1256"
cmd-context diffcr -flat bgrs bgrs@@11-Dec.12:05.1956
< Reference Time 11-Dec-98.15:23:52, this audit started 11-Dec-98.15:23:59
> Reference Time 11-Dec-98.12:02:39, this audit started 11-Dec-98.12:04:52
< View was oxygen:/usr/jones/views/main.vws [uuid
66e68edc.471511cd.ac55.08:00:2b:33:ec:ab]
> View was oxygen:/usr/jones/views/r1_fix.vws [uuid
8b468fd0.471511cd.aca5.08:00:2b:33:ec:ab]
----------------------------
----------------------------
MVFS objects:
----------------------------
< /vobs/docaux/bgr/sun4/bgrs@@11-Dec.15:24.1987
> /vobs/docaux/bgr/sun4/bgrs@@11-Dec.12:05.1956
----------------------------
< /vobs/docaux/bgr/sun4/bugs.o@@11-Dec.15:23.1981
> /vobs/docaux/bgr/sun4/bugs.o@@11-Dec.12:03.1902
----------------------------
< /vobs/docaux/bgr/sun4/bugsched.o@@11-Dec.15:23.1984
> /vobs/docaux/bgr/sun4/bugsched.o@@11-Dec.12:04.1953
The comparison shows that the builds used different versions of the object modules bugs.o and bugsched.o.
Compare the same two derived objects again, this time including the CRs of all subtargets.
cmd-context diffcr -flat bgrs.exe bgrs.exe@@11-Dec.12:05.1956
----------------------------
MVFS objects:
----------------------------
----------------------------
< First seen in target "bugs.obj"
< 1 \vob1\docaux\bgr\bugs.c@@\main\2 <11-Dec-98.15:22:53>
> First seen in target "bugs.obj"
> 1 \vob1\docaux\bgr\bugs.c@@\main\1 <19-Dec-97.11:49:54>
----------------------------
< First seen in target "bugsched.obj"
< 1 \vob1\docaux\bgr\bugsched.c@@\main\2 <11-Dec-98.15:23:04>
> First seen in target "bugsched.obj"
> 1 \vob1\docaux\bgr\bugsched.c@@\main\1 <19-Dec-97.11:50:07>
----------------------------
< First seen in target "bgrs.exe"
< 1 \vob1\docaux\bgr\bgrs.exe@@11-Dec.15:24.1987
> First seen in target "bgrs.exe"
> 1 \vob1\docaux\bgr\bgrs.exe@@11-Dec.12:05.1956
----------------------------
< First seen in target "bgrs.exe"
< 2 \vob1\docaux\bgr\bugs.obj@@11-Dec.15:23.1981
> First seen in target "bgrs.exe"
> 2 \vob1\docaux\bgr\bugs.obj@@11-Dec.12:03.1902
----------------------------
< First seen in target "bgrs.exe"
< 2 \vob1\docaux\bgr\bugsched.obj@@11-Dec.15:23.1984
> First seen in target "bgrs.exe"
> 2 \vob1\docaux\bgr\bugsched.obj@@11-Dec.12:04.1953
The integer at the beginning of an entry indicates the number of times the object was referenced during the build. The first seen in target
message indicates the first target rebuild in which the object was referenced.
For the same two derived objects as in the preceding examples, compare the file element versions used to build subtarget bugsched.o. Report the differences in short format.
cmd-context diffcr -short -select bugsched.o -type f -element_only \
bgrs bgrs@@11-Dec.12:05.1956
----------------------------
< /vobs/docaux/bgr/bugsched.c@@/main/2
> /vobs/docaux/bgr/bugsched.c@@/main/1
Compare two builds of program main, listing only those entries that involve the files src/prog.c, include/prog.h, and bin/prog.o.
cmd-context diffcr -recurse -name 'prog.[cho]' main1 main2
Compare two builds of program main, listing only those entries that involve the file src\prog.c
cmd-context diffcr -recurse -name prog.c main1 main2
catcr, clearaudit, clearmake, ls, lsdo, make, rmdo, wildcards, wildcards_ccase
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |