Re: Timestamp fuzz on CVS commits?

Michael Haggerty <[email protected]>
Newsgroups gmane.comp.version-control.subversion.cvs2svn.user
Message-ID <[email protected]>
Greg Ward wrote:
> I've been trying to figure out if and where cvs2svn applies a little
> fuzz on CVS revision timestamps to merge chronologically adjacent file
> revisions into changesets.  That is, if
> 
>   cvs commit file1 file2 ... fileN
> 
> takes 3 seconds to run, the resulting file revisions will span 3 sec,
> but really should become 1 changeset.

grep for config.COMMIT_THRESHOLD.  You can also change that value.
Please note that this is a constraint on the *gap* between commits, so
as long as your CVS server manages to record each file-level commit
within 5 minutes of the previous one, cvs2svn will try to group them
into the same commit.

Of course these protocommits are subject to further splitting during
later stages in the conversion if necessary to break cycles in the
dependency graph; this is described in doc/design-notes.txt.

Big gaps within apparent changesets probably occur more often when the
original CVS commit was interrupted after some of the file-level commits
were done, then was restarted by the user.  Or when the user forgot to
include some changes in one commit, then made a followup commit with the
same commit message.

> I couldn't figure it out from the code... so 1) is a little fuzz
> applied to the timestamps, and 2) if so, where?
> 
> (Asking because I would like to increase the fuzz boundary a bit.  I'm
> seeing changesets in my output Mercurial repository with the same user
> and commit message, but different files and different timestamps.)

It might be that cvs2svn split the changesets for different reasons than
the COMMIT_THRESHOLD.  It is a bit of work to follow cvs2svn's
commit-splitting decisions in great detail, but turning up the
--verbosity level a couple of notches will provide much more detail.
There is also code to emit the dependency graph in DOT format; see
changeset_graph.output_(coarse|fine)_dot.  But the dependency graphs
will probably be impractically large for any real repository.

Michael

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=2409250

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.