annotate
apropos
catcr
catcs
cc.icon
cc.magic
cd
chactivity
chbl
checkin
checkout
checkvob
chevent
chflevel
chfolder
chmaster
chpool
chproject
chstream
chtype
chview
clearaudit
clearbug
cleardescribe
cleardiffbl
cleardiff
clearexport_ccase
clearexport_cvs
clearexport_pvcs
clearexport_rcs
clearexport_sccs
clearexport_ssafe
clearfsimport
cleargetlog
clearhistory
clearimport
clearjoinproj
clearlicense
clearmake
clearmake.options
clearmrgman
clearprojexp
clearprompt
cleartool
clearviewupdate
clearvobadmin
comments
config_ccase
config_spec
cptype
credmap
creds
deliver
describe
diffbl
diffcr
diff
dospace
edcs
endview
env_ccase
events_ccase
export_mvfs
exports_ccase
file
find
findmerge
fmt_ccase
getcache
get
getlog
help
hostinfo
init_ccase
ln
lock
lsactivity
lsbl
lscheckout
lsclients
lscomp
lsdo
lsfolder
lshistory
ls
lslock
lsmaster
lspool
lsprivate
lsproject
lsregion
lsreplica
lssite
lsstgloc
lsstream
lstype
lsview
lsvob
lsvtree
makefile_aix
makefile_ccase
makefile_gnu
makefile_pmake
makefile_smake
makefile_sun
man
merge
mkactivity
mkattr
mkattype
mkbl
mkbranch
mkbrtype
mkcomp
mkdir
mkelem
mkeltype
mkfolder
mkhlink
mkhltype
mklabel
mklbtype
mkpool
mkproject
mkregion
mkstgloc
mkstream
mktag
mktrigger
mktrtype
mkview
mkvob
mount_ccase
mount
msdostext_mode
mvfslog
mvfsstorage
mvfstime
mvfsversion
mv
omake
pathnames_ccase
permissions
profile_ccase
promote_server
protect
protectvob
pwd
pwv
query_language
quit
rebase
recoverview
reformatview
reformatvob
register
relocate
rename
reqmaster
reserve
rgy_backup
rgy_check
rgy_passwd
rgy_switchover
rmactivity
rmattr
rmbl
rmbranch
rmcomp
rmdo
rmelem
rmfolder
rmhlink
rmlabel
rmmerge
rmname
rmpool
rmproject
rmregion
rmstgloc
rmstream
rmtag
rmtrigger
rmtype
rmver
rmview
rmvob
schedule
schemes
scrubber
setactivity
setcache
setcs
setplevel
setsite
setview
shell
snapshot.conf
softbench_ccase
space
startview
type_manager
umount
uncheckout
unlock
unregister
unreserve
update
version_selector
view_scrubber
vob_restore
vob_scrubber
vob_sidwalk
vob_snapshot
vob_snapshot_setup
wildcards_ccase
winkin
xclearcase
xcleardiff
xmldiffmrg
DESCRIPTION
The annotate command lists the contents of a version, annotating each line to indicate when, and in which version, the line was added. You can customize the annotations using the –fmt option, which is described in the fmt_ccase reference page. By default, annotate writes its output to a file with the .ann extension.
Line of Descent
Each version has a line of descent, a sequence of ancestor versions going all the way back to version 0 on the main branch. The default listing has a header section that includes the event records of all the versions in the line of descent of the annotated version.
Type Manager Interface
The annotate command extracts information from the element's versions. To do so, it invokes the annotate method of the element's type manager. Only the text_file_delta and z_text_file_delta type managers (which correspond to the predefined element types text_file and compressed_text_file) include an annotate method. You must use the –ndata option when annotating versions of other element types.
Report Format
The default report format includes the following components:
- Element pathname — Shows the path of the element being annotated.
- Heading section — Lists the event record for each version along the line of descent, in standard cleartool lshistory format.
- Text line annotations — Includes a bar graph indicating how long ago the line first appeared in an ancestor version, along with that version's time stamp, creator, and version-ID.
- Elision strings — Replace text line annotations that would duplicate the annotation on the preceding line. An elision string includes the bar graph and a single dot (.) character.
- Source lines from the specified version — Any TAB characters in source lines are expanded according to the value of environment variable CLEARCASE_TAB_SIZE (default: 8).
If you use the –rm or –all option, the report also includes deletion annotations. These appear on text lines that are not in the annotated version, but do exist in some other version of the element.
OPTIONS AND ARGUMENTS
Including Other Text Lines
- Default
- The listing includes only text lines that
are present in the specified version.
- –a·ll
- Expands the listing to include all text
lines that occurred in any version of the element, including
lines in versions that are not along the line of descent. (Lines from versions
outside the line of descent are annotated as UNRELATED;
this annotation appears in the same column used to annotate deletion lines.)
- –rm
- Also includes removed lines—text
lines that were present in one or more versions along the line of descent,
but do not appear in the specified version. See also the –rmfmt option.
Destination of Listing
- Default
- Command output is sent to the file input-file.ann.
- –out output-pname
- If output-pname is
a file name, redirects command output to the specified file (overwriting the
file if it already exists). If output-pname is
a single hyphen character (–out –), sends command
output to stdout. If output-pname is
a directory, places command output for each annotated version in a file within
that directory (which must already exist).
If you use this option when annotating more than one version, output-pname must be a directory.
Formatting of Report
- Default
- The source file is listed as described
in “Report
Format”.
- –s·hort
- Uses predefined annotation format strings
that yield an abbreviated report.
- –l·ong
- Uses predefined annotation format strings
that yield a verbose report.
- –fmt format[,hdr-format[,elide-format]]
- Specifies a display format for primary
annotations, and optionally, for the header section and/or elision strings.
Format strings must be enclosed in quotes. The default format is "%BAd
%Sd %-8.8u %-16.16Vn | " .
Use a hyphen (-) to designate a default format string. For example, to supply a hdr-format, but not a primary annotation format, use the construction –fmt –, hdr-format. It is usually desirable to terminate the hdr-format with a <NL> character, by using \n.
If you omit the elide-format, it is computed based on the primary line-by-line annotation: all characters except <TAB> and the vertical bar (|) in the primary annotation are replaced by <SPACE>, and the middle character, if it is a <SPACE>, is replaced by a period (.).
In general, it is simpler to use fixed-width fields, not <TAB>-character specifiers (\t), to create aligned columns of annotations. See the fmt_ccase reference page for more details on composing format strings.
- –rmf·mt rm-format
- Specifies a format for deletion annotations
(see also –rm and –all). The
default format is "DEL %Sd %-8.8u | " .
- –f·orce
- Displays each text-line's annotation, even
if it duplicated the previous line's annotation. This option suppresses use
of elision strings.
EXAMPLES
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.
Note: In the UNIX examples that follow, arguments and output that show multicomponent VOB tags are not applicable to ClearCase LT, which recognizes only single-component VOB tags. In this manual, a multicomponent VOB tag is by convention a two-component VOB tag of the form /vobs/vob-tag-leaf—for example, /vobs/src. A single-component VOB tag consists of a leaf only—for example, /src. In all other respects, the examples are valid for ClearCase LT.
- Annotate
a source file, using the short format.
cmd-context annotate -short msg.c
Annotated result written to "msg.c.ann".
% cat msg.c.ann
/vobs/src/msg.c
---------------
24-Apr-99 anne /main/rel2_bugfix/9
12-Mar-99 ravi /main/rel2_bugfix/8
.
.
.
23-Apr-99 rks /main/48 (REL2)
20-Apr-99 spc /main/47
.
.
.
-------------------------------------------------
-------------------------------------------------
20-May-98 | #include "hello.h"
. |
. | char *
21-Apr-99 | env_user() {
. | char * user_env;
. | user_env = getenv("USER");
.
.
.
. | time_t clock;
24-Mar-99 | char *s;
20-Sep-98 |
14-Jun-99 | s = ctime(&clock);
. | s[ strlen(s)-1 ] = ' ';
. | return s;
20-May-98 | } - Annotate
a source file, using the long format.
cmd-context annotate -long msg.c
Annotated result written to "msg.c.ann".
type msg.c.ann
02-Apr-99.10:51:54 ##### Steve (scd.user@reach)\main\rel2_bugfix\1
a test
.
.
.
-------------------------------------------------
-------------------------------------------------
##### 01-Apr-99.16:19:25 scd \main\1 | #include "hello.h"
##### 02-Apr-99.10:51:54 scd \main\rel2_bugfix\1 | /* a test */
##### 01-Apr-99.16:19:25 scd \main\1 |
.
.
.
##### . |char *
##### . | hello_msg() {
.
.
.
- Annotate a source file and write the output to standard output. Display deletion lines, customize the annotation format, and suppress the header output.
- Customize
the header format, but use the default format for text line annotations.
cmd-context annotate -out - -fmt "-,Version %Vn created by %u.\n" util.c
version \main\3 created by anne.
version \main\2 created by anne.
version \main\1 created by rick.
version \main\0 created by rick.
-------------------------------------------------
-------------------------------------------------
# 20-May-98 rick \main\1 | #include "hello.h"
# . |
# . | char *
# . | env_user() {
### 08-Feb-99 anne \main\3 | char *str = getenv("USER");
### . | if ( strcmp(str,"root") == 0 )
.
.
.