CLI Reference > Configuration Management Commands > si rlog
 
si rlog
displays the revision log
Synopsis
si rlog [--format=value] [--headerFormat=value] [--noFormat] [--noHeaderFormat] [--noTrailerFormat] [(-r rev|--revision=rev)] [--range=value] [--trailerFormat=value] [--rfilter=filteroptions][--fields=field1[:width1],field2[:width2]...] [--[no]failOnAmbiguousProject] [--height=value] [--width=value] [--lockRecordFormat=value] [--lockseparator=value] [--maxTrunkRevs=value] [-xvalue [-yvalue [(-R |--no[confirm]recurse] [--filter=filteroptions] [(-P project|--project=project)] [(-S sandbox|--sandbox=sandbox)] [--devpath=path] [--projectRevision=rev] [--hostname=server] [--port=number] [--password=password] [--user=name] [--[no]persist] [--cwd=directory] [(-F file|--selectionFile=file)] [--forceConfirm=[yes|no]] [(-N|--no)] [--[no]batch] [--quiet] [(-?|--usage )] [(-Y|--yes)] member...
Description
si rlog displays the revision log and general archive information for every revision in a member history. The formatting is, by default, suitable for user viewing but it is also programmable, suitable for use in scripts. See the --format=value option description below.
Options
This command takes the universal options available to all si commands, as well as some general options. See the options reference page for descriptions.
For a member, first the --headerFormat is processed. Then each revision is processed and formatted using the --fields or --format option. Finally, the --trailerFormat is processed. All three sections have available the global archive information. For each revision, the fields designated as per-revision are shown.
--format=value
defines an output format for user-formatted text. The default formatting is suitable for interpretation by most users; the various formatting options are provided for programmatic control.
This option and the --fields option are mutually exclusive.
--format options use the same values as --fields, but similar to a JAVA MessageFormat string (that is, it requires { } to surround each field). The --fields option automatically adds a newline on the end, but you must supply the newline for formats with a \n, for example:
si rlog --format="{membername},{revision}\n"
--headerFormat=value
defines the header to be used.
--noFormat
disables formatting for user-formatted text. If --noFormat is specified, the per-revision iteration is not performed.
--noHeaderFormat
disables the header formatting.
--noTrailerFormat
disables the trailer formatting.
--range=value
specifies a range of revision numbers. The format of value for a single revision is simply the revision number itself. Separate multiple non sequential revisions with a comma, and use a dash to indicate a sequential range, for example, 1.2-1.5.
You may also prefix or append a dash to a single revision number, meaning you want to show from 1.1 to the specified revision, or from the specified revision to the tip. For example, you would specify -1.6 to show revisions 1.1 to 1.6. Or you could specify 1.2- to show revisions 1.2 to the tip revision, whatever it may be.
Another alternative is to use ?locker[:user] to match revisions that are locked, or locked by a certain user. For example,
si rlog --noHeaderFormat --noTrailerFormat --range=?locker --format="{membername},{locker},{revision}\n"
displays one line per locked revision, containing the membername, locker, and the revision locked.
The revisions are printed in order from the highest revision to the lowest.
--trailerFormat=value
defines the trailer to be used.
--fields=field1[:width1],field2[:width2]...
allows you to select fields to be printed, specified in the format field1[:width1],field2[:width2].... Specifying the column [:width] (in pixels) for each field is optional - widths are only available with the -g or --gui options. Under the CLI the fields are separated with a space.
This option and the --format option are mutually exclusive.
The fields available for printing can be one or more of the following:
added
per revision: the number of lines/bytes added for the current revision.
alllabels
global: all labels on any revision of the member, in the format label:revision[,label:revision]...
archivedescription
global: the archive description.
archivename
global: the name of the archive to which the member refers.
archiveshared
global: indicators for members that share another member's archive; 1 if shared, 0 if not shared.
attributes
global: member attributes in the form attr=value[,attr=value].
author
per revision: author of the revision.
branchcount
global: number of branches.
branchid
global: default branch.
branchtiprev
global: tip of the branch on which the member revision is located.
cpid
per revision: the associated change package identifier (applies only when change packages are enabled).
cpsummary
per revision: the associated change package summary (applies only when change packages are enabled).
date
per revision: date on the revision.
deleted
per revision: the number of lines/bytes deleted on the current revision.
description
per revision: the revision description.
exclusivelockmandatory
global: if exclusive lock mandatory; 1 if exclusive lock is mandatory, 0 if exclusive lock is not mandatory.
format
global: the storage format; 1 if stored as text, 0 if stored in binary format.
formattedlabels
global: all labels formatted into 80 column lines.
frozen
global: indicators for frozen members; 1 if frozen, or 0 if not frozen.
hasexclusivelocker
global: indicators for exclusively locked members, 1 if has exclusive locker, 0 if not.
haslabels
global: 1 if alllabels is non-null, 0 if null.
haslocker
global: 1 if has one or more lockers, 0 if null.
per revision: 1 if labels is non-null, 0 if null.
hasnewrevdelta
global: displays 1 if the member revision is not on a tip.
haspackage
per revision: displays 1 if cpid is set, indicating the presence of a change package.
headrev
global: displays the head revision number.
isreference
global: displays 1 if the member belongs to a shared or moved subproject, 0 if the member belongs to a subproject that is not shared or moved.
issandbox
global: displays 1 if it is a Sandbox, 0 if a project.
labels
per revision: a comma separated list of labels on this revision.
lockrecord
per revision: lock information for each lock. By default, the locker and lock type display in a comma separated list. You can customize the lock information that displays by using the --lockRecordFormat option. You can customize the separator between locks by using the --lockseparator option.
memberdevbranch
global: displays the member's development branch.
membername
global: displays the name of the member.
memberrev
global: displays the member revision number.
memberrule
global: displays the member rule on one line (in the header, if it exists).
projectname
global: from a project, displays the name of the current project or subproject that the member belongs to. From a Sandbox, displays the name of the Sandbox or sub Sandbox that the member belongs to.
projecttype
global: displays 1 if the project is a regular project, 2 if the project is a build project, 3 if the project is a variant project.
rawmemberrule
global: displays the member rule using the CLI syntax (in the header section, if it exists).
referenceproject
global: project references.
relativemembername
global: displays the member name relative to the top level project.
revision
per revision: revision number.
revisioncount
global: displays the count of the revisions.
revisionsonbranchcount
global: the number of revisions on branches.
state
per revision: displays the state.
storageformat
global: displays 1 if stored by reference, 0 if stored by delta.
trunktip
global: displays the trunk tip revision number.
type
global: always 0 to indicate a normal file member.
workingarchive
global: displays the name of the archive from which the working file is derived .
workingfile
global: displays the working file name; null in a project.
workingfileexists
global: displays 1 if a Sandbox and working file exists, 0 if operating on a project.
workingfilerevunknown
global: displays 1 in a Sandbox if the working revision is unknown, or 0 if known. Always displays 0 in a project.
workingrevdelta
global: displays 1 in a Sandbox if the working revision is not the same as the member revision, or displays 0 in a project.
workingfilewritable
global: displays 1 if a Sandbox and working file are writable.
workingrev
global: displays the working revision.
--rfilter=filteroptions
allows you to display any revisions of the current member that meet the selection criteria specified in the filteroptions. Comma separated expressions are combined using an OR operator. Multiple occurrences of an option are combined using an AND operator. A leading ! negates any simple filter that follows. For example,
--rfilter=labeled:Release 3.0,branchboundaries --rfilter=!label:obsolete
displays all revisions with a label of Release 3.0 or a revision at a branch boundary and whose label is not Obsolete. The filteroptions can be one or more of the following:
range:low-high
selects revisions that are in the specified revision number range. If required, you can specify just one end of the range. The range includes the low and high values. To specify multiple ranges, the range keyword must be repeated, for example
--rfilter=range:1.100-1.200,range:1:400-1:500
branchrange:low-high
selects branched revisions that are in the specified revision number range. If required, you can specify just one end of the range. The range includes the low and high values. To specify multiple ranges, the branchrange keyword must be repeated, for example
--rfilter=branchrange:1.2.1.1-1.2.1.5,branchrange:1.4.1.1-1.4.1.5
daterange:<date>-<date>|:past:<nb>:years|months|days|hours
selects revisions that were created during a specified time range or during a specified amount of time in the past. <date> specifies a date in any of the local date/time formats. For more information on date/time formats, see the options reference page. <nb> is used to specify the number of units to include in the range for a specified amount of time in the past.
* 
If the date/time format contains either "-" or "," you must quote each date. For example: --rfilter=daterange:"June 21, 2009 - 6:07:28 PM"-"June 25, 2009 - 6:07:28 PM"
When in a shell, you must use two kinds of quotes so that the shell does not remove them. For example:
--rfilter=daterange:'"June 21, 2009 - 6:07:28 PM"'-'"June 25, 2009 - 6:07:28 PM"'
or
--rfilter=daterange:"'June 21, 2009 - 6:07:28 PM'"-"'June 25, 2009 - 6:07:28 PM'"
branch[::current|:name]
selects revisions that are on the specified branch.
labeled:name
selects revisions with labels. If a label name is specified, only revisions with that label are displayed. If no label name is specified, all labeled revisions are displayed.
labellike:pattern
selects revisions that match the specified pattern. Your administrator determines whether glob or regex patterns are used for matching.
locked[::me|::anyone|userName]
selects revisions that are locked. If me or a user name is specified, only revisions locked by that user are displayed. If no user or anyone is specified, all locked revisions are displayed.
locktype[:exclusive|:nonexclusive|:any]
selects revisions that are locked with the specified lock type. If no lock type or any is specified, all locked revisions are displayed.
state:name
selects revisions that are at the specified state.
author[::me|:userName]
selects revisions created by the specified author.
pending
selects revisions that are pending.
anyspecial
selects working revisions.
branchboundaries
selects revisions that are branched, or at the base or tip of a branch.
--lockRecordFormat=value
defines the format for displaying lock information in the --lockrecord field. Specify a format string using keywords to represent the information you want to display. You can specify any of the following keywords:
{revision}
displays the revision that is locked.
{locker}
displays the user who locked the revision.
{locktype}
displays the type of lock on the revision (exclusive or non-exclusive).
{locktimestamp}
displays the time when the revision was locked.
{lockcpid}
displays the change package associated with the lock on the revision.
{project}
displays the name and path of the project where the member revision was locked from. If the member revision was locked from a shared subproject, it is the subproject name and path that are displayed.
{devpath}
displays the name of the development path where the lock on the revision was made from.
{sandbox}
displays the name of the Sandbox where the lock on the revision was made. This is relevant when viewing the information from the locker host.
{hostname}
displays the hostname of the computer that locked the the revision.
{hascpid}
displays 1 if the lock has a change package associated with it, 0 if there is no associated change package.
{hassandbox}
displays 1 if there is Sandbox information available for the lock, 0 if no Sandbox information is available.
{hasdevpath}
displays 1 if the lock was made from a development path, 0 if it wasn't.
{member}
displays the name of the locked revision.
--lockseparator=value
defines the separator used between each lock displayed in the --lockrecord field.
--maxTrunkRevs=value
specifies the maximum number of revisions along the mainline project to display. If you limit the number of revisions to be displayed, and the maximum is reached, a trailing message displays at the bottom of the list. The maximum number of revisions is based on the number of visible mainline revisions; branched revisions are not included in the count.
--[no]persist
controls whether this presentation of information should continue to be updated as new information becomes available. --nopersist forces a static "snapshot" of information, while --persist gives real-time updates.
member...
identifies a specific member; use spaces to specify more than one member.
Diagnostics
See the diagnostics reference page for possible exit status values.
Preferences
Using si setprefs or si viewprefs, you are able to set or view the preference keys for this command.
See Also
Commands: si archiveinfo, si diff, si memberinfo, si mods, si print, si projectinfo, si report, si revisioninfo, si sandboxinfo, si viewhistory
Miscellaneous: ACL, diagnostics, options, preferences