GNU Info

Info Node: (cvsbook.info)log

(cvsbook.info)log


Next: login Prev: kserver Up: Commands And Options
Enter node , (file) or (file)node

log
---

Synopsis: log [OPTIONS] [FILES]

   * Alternate names - lo, rlog

   * Requires - Working copy, repository

   * Changes - Nothing

Shows log messages for a project, or for files within a project.  The
output of log is not quite in the same style as the output of other CVS
commands, because log is based on an older RCS program (rlog).  Its
output format gives a header, containing various pieces of
non-revision-specific information about the file, followed by the log
messages (arranged by revision).  Each revision shows not merely the
revision number and log message, but also the author and date of the
change and the number of lines added or deleted.  All times are printed
in UTC (GMT), not local time.

Because log output is per file, a single commit involving multiple files
may not immediately appear as a conceptually atomic change.  However, if
you read all of the log messages and dates carefully, you may be able to
reconstruct what happened.  (For information about a tool that can
reformat multifile log output into a more readable form, see Note:
cvs2cl -- Generate GNU-Style ChangeLogs in Note: Third-Party Tools
for details.)  (See also Note: history.)

Options:

As you read over the following filtering options, it may not be
completely clear how they behave when combined.  A precise description
of log's behavior is that it takes the intersection of the revisions
selected by -d, -s, and -w, intersected with the union of those selected
by -b and -r.

   * -b - Prints log information about the default branch only (usually
     the highest branch on the trunk).  This is usually done to avoid
     printing the log messages for side branches of development.

   * -dDATES - Prints log information for only those revisions that
     match the date or date range given in DATES, a semicolon-separated
     list.  Dates can be given in any of the usual date formats (see
     Note: Date Formats earlier in this section) and can be combined
     into ranges as follows:

        * DATE1<DATE2 - Selects revisions created between DATE1 and
          DATE2.  If DATE1 is after DATE2, use `>' instead; otherwise,
          no log messages are retrieved.

        * <DATE DATE> - All revisions from DATE or earlier.

        * >DATE DATE< - All revisions from DATE or later.

        * DATE - Just selects the most recent single revision from DATE
          or earlier.


     You may use `<=' and `>=' instead of `<' and `>' to indicate an
     inclusive range (otherwise, ranges are exclusive).  Multiple
     ranges should be separated with semicolons, for example

          floss$ cvs log -d"1999-06-01<1999-07-01;1999-08-01<1999-09-01"

     selects log messages for revisions committed in June or August of
     1999 (skipping July).  There can be no space between -d and its
     arguments.

   * -h - Prints only the header information for each file, which
     includes the file name, working directory, head revision, default
     branch, access list, locks, symbolic names (tags), and the file's
     default keyword substitution mode.  No log messages are printed.

   * -l - Local.  Runs only on files in the current working directory.

   * -N - Omits the list of symbolic names (tags) from the header.
     This can be helpful when your project has a lot of tags but you're
     only interested in seeing the log messages.

   * -R - Prints the name of the RCS file in the repository.

     This is different from the usual meaning of -R: "recursive".
     There's no way to override a -l for this command, so don't put log
     -l in your .cvsrc.

   * -rREVS - Shows log information for the revisions specified in
     REVS, a comma-separated list.  REVS can contain both revision
     numbers and tags.  Ranges can be specified like this:

        * REV1:REV2 - Revisions from REV1 to REV2 (they must be on the
          same branch).

        * :REV - Revisions from the start of REV's branch up to and
          including REV.

        * REV: - Revisions from REV to the end of REV's branch.

        * BRANCH - All revisions on that branch, from root to tip.

        * BRANCH1:BRANCH2 - A range of branches - all revisions on all
          the branches in that range.

        * BRANCH. - The latest (tip) revision on BRANCH.


     Finally, a lone -r, with no argument, means select the latest
     revision on the default branch (normally the trunk).  There can be
     no space between -r and its argument.

     If the argument to -r is a list, it is comma-separated, not
     semicolon-separated like -d.

   * -sSTATES - Selects revisions whose state attribute matches one of
     the states given in STATES, a comma-separated list.  There can be
     no space between -s and its argument.

     If the argument to -s is a list, it is comma-separated, not
     semicolon-separated like -d.

   * -t - Like -h, but also includes the file's description (its
     creation message).

   * -wUSERS - Selects revisions committed by users whose usernames
     appear in the comma-separated list USERS.  A lone -w with no USERS
     means to take the username of the person running cvs log.

     Remember that when user aliasing is in effect (see the section
     Note: The Password-Authenticating Server in Note: Repository
     Administration), CVS records the CVS username, not the system
     username, with each commit.  There can be no space between -w and
     its argument.

     If the argument to -w is a list, it is comma-separated, not
     semicolon-separated like -d.



automatically generated by info2www version 1.2.2.9