[Top][All Lists]

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

Re: Help understanding cvs logs using

From: Michael Haggerty
Subject: Re: Help understanding cvs logs using
Date: Tue, 28 Feb 2012 09:13:20 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20120216 Lightning/1.0b2 Thunderbird/3.1.19

On 02/27/2012 08:09 PM, Shivani Rao wrote:
> [...]
> a) How do tags really work? I have read tons of tutorials, but still
> not clear. Does a symbolic name for a file stay after it is tagged?

A file tag is just a symbol that refers to a specific revision of the
file.  If a whole repository was tagged at once (this is not necessarily
the case), then the collection of all files at their respective versions
can be treated as a single repository-wide tag.

> b) If I want to track software evolution from one "tag" till "another"
> can I use the order found out as stated above? Is the latest tag given
> to a file, the truest way to find the latest revision (tag) it belongs
> to?
> c) Why is it that I se aspectj e the tags at a different date when cvs2cl uses
> the chrono option?

There is no metadata stored with a CVS tag.  CVS does not record when
the tag was created or by whom.  Therefore the only way for a tool to
associate dates with tags is by using heuristics based on the dates of
the revisions that were tagged and of other nearby revisions.  Obviously
cvs2cl's heuristics do not give consistent results when run with
different options.

For that matter, even inferring repository-wide commits from the
file-by-file data stored by CVS is nontrivial and tools vary widely in
their ability to do this well.

cvs2svn [1], a tool for converting CVS repositories to
Subversion/git/bzr/hg, does a very careful job of inferring commits and
tag/branch dates from the CVS history.  If you have access to the CVS
repository for aspectj, you might consider using cvs2svn to convert the
repository to git, then using git's excellent history-viewing tools to
analyze the project history.  Alternatively you could use Subversion as
your vehicle, but IMHO Subversion's graphical tools are not as good as
git's.  By this I do not mean that the project should change version
control systems [2]; I just mean that you can use a temporary copy in
another VCS for inspection.

[Disclaimer: I am the cvs2svn maintainer.]


[2] ...though they probably should :-)

Michael Haggerty

reply via email to

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