Subject: Re: started a cvsps testsuite Was: Re: [PATCH v3 0/2] cvsimport: add test illustrating a bug in cvsps

From: Michael Haggerty <[email-masked]>
Date: Tue, 24 Mar 2009 05:50:03 +0100

Heiko Voigt wrote:
> I just started a very simple but hopefully effective testsuite to 
> collect all the issues we found with cvsps. [...]
> 
> Maybe Michael can add his tests as well. You should just need to 
> construct the expected cvsps output.

Please note that the cvsps output format itself is not rich enough to
represent all of the information needed, so it is not trivial to
construct the "expected" output.  The following is from an email that I
sent to the Mercurial mailing list [1]:

> I spent some time looking into cvsps, and I don't think that its
> output format, let alone the output itself, is suitable for
> industrial-strength conversion from CVS.  For example, as far as I
> can tell from my brief investigation:
> 
> * log messages are not unambiguously separable from the metadata
> 
> * it seems to only allow a single tag per changeset
> 
> * it seems to only apply tags to single changesets, whereas in CVS
>   files can be added to a tag at different times.
> ...
> 
> * it seems to completely ignore a branch tag if no commits were
>   ever made on that branch.
> 
> * it seems to ignore the effect that a second import to a vendor
>   branch has on the main branch.

You might also be interested to know that there has been some work in
the Mercurial project on a Python-based "cvsps".  I believe they use
their own version for their cvsimport extension.  I don't know how
different their cvsps is from the original.

Michael

[1] http://selenic.com/pipermail/mercurial-devel/2008-February/004975.html