Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1
-
None
-
C:\>cvs --version
Concurrent Versions System (CVS) 1.12.13a (client)
Copyright (C) 2005 Free Software Foundation, Inc.
Senior active maintainers include Larry Jones, Derek R. Price,
and Mark D. Baushke. Please see the AUTHORS and README files from the CVS
distribution kit for a complete list of contributors and copyrights.
CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.
Specify the --help option for further information about CVS
C:\>cvs -H rlog
Usage: cvs rlog [-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, -r,
-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 logins.
(Specify the --help global option for a list of other help options)C:\>cvs --version Concurrent Versions System (CVS) 1.12.13a (client) Copyright (C) 2005 Free Software Foundation, Inc. Senior active maintainers include Larry Jones, Derek R. Price, and Mark D. Baushke. Please see the AUTHORS and README files from the CVS distribution kit for a complete list of contributors and copyrights. CVS may be copied only under the terms of the GNU General Public License, a copy of which can be found with the CVS distribution kit. Specify the --help option for further information about CVS C:\>cvs -H rlog Usage: cvs rlog [-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, -r, -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 logins. (Specify the --help global option for a list of other help options)
Description
If we want to get one changelog, then we call ScmManager.changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion ) where startVersion = endVersion. Is it true?
For Subversion it works fine, for example:
svn log -r3240:3240 http://svn.emforge.org/svn/emforge/maven-scm
it just returns one revision named 3240
But the same algorithm does not work with CVS providers - the problem is in that
AbstractCvsChangeLogCommand uses duplicated colon "::" to specify revisions, but it means that rev1 will be excluded from result:
-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.
So AbstractCvsChangeLogCommand should use first variant "rev1:rev2" to specify revisions.