Subject: Re: [PATCH] cvsimport: add test illustrating a bug in cvsps

From: Michael Haggerty <[email-masked]>
Date: Tue, 24 Feb 2009 06:00:01 +0100

Heiko Voigt wrote:
> Some cvs repositories may have time deviations in their recorded commits. This
> is a test for one of such cases. [...]

Based on the numbering of your test, it looks like you've seen my
proposed patch [1].  If my patch is accepted, it would make sense for
yours to use the lib-cvs.sh library that I started.  But I guess that
can be changed if and when my patch is accepted.

To share the most test code, it would help to choose the same CVS module
name for each test when possible.  I imitated t9600 and named the CVS
modules in my tests "module", and for now the library assumes that name.
 Unless there is a special reason to use the module name "time", you
might think of renaming it, and similarly renaming your conversion
directory "module-git".

> +test_expect_success 'import with criss cross times on revisions' '

Since this test is known to fail, I think it should be
"test_expect_failure".

> diff --git a/t/t9603/cvsroot/CVSROOT/.empty b/t/t9603/cvsroot/CVSROOT/.empty
> new file mode 100644
> index 0000000..e69de29

I suggest adding a .gitignore file instead of .empty to keep the CVSROOT
directory around, and in it to list the filenames "history" and
"val-tags" (which are created by some cvs commands).  This will preserve
a clean "git status" even after running the test.

> diff --git a/t/t9603/cvsroot/time/a,v b/t/t9603/cvsroot/time/a,v
> new file mode 100644
> index 0000000..66a96aa
> --- /dev/null
> +++ b/t/t9603/cvsroot/time/a,v
> [...]

To avoid complaints from "git diff --check" about trailing whitespace in
the *,v files, you can add a file .gitattributes in your cvsroot
directory, containing the line "* -whitespace".  There is also trailing
whitespace in t9603-cvsimport-time.sh that can simply be deleted.

Michael

[1] http://www.spinics.net/lists/git/msg95366.html