[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS Log unexpected results

From: jim.herr
Subject: CVS Log unexpected results
Date: Fri, 21 Apr 2006 21:22:18 -0400

I'm using Concurrent Versions System (CVS) 1.11.20 (client/server) on a
Linux box.  
Standard operation for our builds is to create a branch for a release,
tag everything, update to the tag, then build.  We repeat the tag,
update and build steps until we release, then merge everything back to
the head.
I'm trying to come up with a report of what updates have occurred since
the last build on a branch. On the surface, it seemed rather easy, but
I've run into problems.  I'm relatively new with CVS, so I'm hoping I'm
just doing something wrong.
I started my report by using 'cvs diff' to find out what files have been
modified for a project:
cvs -q diff --brief -r <branch> -r <last-tag> project returns a list of
files that have been modified in the branch since tag 'last-tag'.
So far, so good.  I then wanted to use 'cvs log' to show me the commit
comments for revisions that were newer in the branch.
I tried:
cvs -q log -S -r<last-tag>:: filename 
where filename was one of the filenames returned by the 'cvs diff'.  The
problem occurs when the updated file is the first revision on a branch.
In that case, cvs diff returns nothing.
Case and point:
> cvs -q diff --brief -r MV_6_8 -r MV6_8_0_43 ms
Index: ms/conf/spring/web.xml
RCS file: /cvs/rep01/Configomatic/ms/conf/spring/web.xml,v
retrieving revision
retrieving revision 1.22
diff --brief -r1.22.2.1 -r1.22
Files /tmp/cvshMJBNO and /tmp/cvskklSoz differ
> cvs -q log -S -rMV6_8_0_43:: ms/conf/spring/web.xml
I would expect this to work since the options for cvs log are:
Usage: cvs log [-lRhtNb] [-r[revisions]] [-d dates] [-s states]
    [-w[logins]] [files...]
        -l      Local directory only, no recursion.
        -b      Only list revisions on the default branch.
        -h      Only print header.
        -R      Only print name of RCS file.
        -t      Only print header and descriptive text.
        -N      Do not list tags.
        -S      Do not print name/header if no revisions selected.  -d,
                -s, & -w have little effect in conjunction with -b, -h,
-R, and
                -t without this option.
        -r[revisions]   A comma-separated list of revisions to print:
           rev1:rev2   Between rev1 and rev2, including rev1 and rev2.
           rev1::rev2  Between rev1 and rev2, excluding rev1.
           rev:        rev and following revisions on the same branch.
           rev::       After rev on the same branch.
           :rev        rev and previous revisions on the same branch.
           ::rev       rev and previous revisions on the same branch.
           rev         Just rev.
           branch      All revisions on the branch.
           branch.     The last revision on the branch.
        -d dates        A semicolon-separated list of dates
                        (D1<D2 for range, D for latest before).
        -s states       Only list revisions with specified states.
        -w[logins]      Only list revisions checked in by specified
(Specify the --help global option for a list of other help options)

It appears that "-rMV6_8_0_43::" should show me revisions "After
MV6_8_0_43" on the same branch", but instead I get nothing.
Am I missing something, or is this a bug?  Is there an easier way to
accomplish this?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]