-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cvsimport: add test illustrating a bug in cvsps
Some cvs repositories may have time deviations in their recorded commits. This is a test for one of such cases. These kind of repositories can happen if the system time of cvs clients is not fully synchronised. Consider the following sequence of events: * client A commits file a r1.1 * client A commits file a r1.2, b r1.1 * client B commits file b r1.2 using the same timestamp as a r1.1 This can be resolved but due to cvsps ordering its patchsets solely based on the timestamp. It only takes revision odering into account if there is no difference in the timestamp. I hit this bug when importing from a real repository which was originally converted from another rcs based scm. Other import tools can handle this correctly, e.g. parsecvs. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Heiko Voigt
authored and
Junio C Hamano
committed
Mar 21, 2009
1 parent
0dc0621
commit 9291ccf
Showing
4 changed files
with
115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/bin/sh | ||
|
||
# Structure of the test cvs repository | ||
# | ||
# Message File:Content Commit Time | ||
# Rev 1 a: 1.1 2009-02-21 19:11:43 +0100 | ||
# Rev 2 a: 1.2 b: 1.1 2009-02-21 19:11:14 +0100 | ||
# Rev 3 b: 1.2 2009-02-21 19:11:43 +0100 | ||
# | ||
# As you can see the commit of Rev 3 has the same time as | ||
# Rev 1 this leads to a broken import because of a cvsps | ||
# bug. | ||
|
||
test_description='git cvsimport testing for correct patchset estimation' | ||
. ./lib-cvs.sh | ||
|
||
CVSROOT="$TEST_DIRECTORY"/t9603/cvsroot | ||
export CVSROOT | ||
|
||
test_expect_failure 'import with criss cross times on revisions' ' | ||
git cvsimport -p"-x" -C module-git module && | ||
cd module-git && | ||
git log --pretty=format:%s > ../actual && | ||
echo "" >> ../actual && | ||
cd .. && | ||
echo "Rev 3 | ||
Rev 2 | ||
Rev 1" > expect && | ||
test_cmp actual expect | ||
' | ||
|
||
test_done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
history | ||
val-tags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
head 1.2; | ||
access; | ||
symbols; | ||
locks; strict; | ||
comment @# @; | ||
|
||
|
||
1.2 | ||
date 2009.02.21.18.11.14; author tester; state Exp; | ||
branches; | ||
next 1.1; | ||
|
||
1.1 | ||
date 2009.02.21.18.11.43; author tester; state Exp; | ||
branches; | ||
next ; | ||
|
||
|
||
desc | ||
@@ | ||
|
||
|
||
1.2 | ||
log | ||
@Rev 2 | ||
@ | ||
text | ||
@1.2 | ||
@ | ||
|
||
|
||
1.1 | ||
log | ||
@Rev 1 | ||
@ | ||
text | ||
@d1 1 | ||
a1 1 | ||
1.1 | ||
@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
head 1.2; | ||
access; | ||
symbols; | ||
locks; strict; | ||
comment @# @; | ||
|
||
|
||
1.2 | ||
date 2009.02.21.18.11.43; author tester; state Exp; | ||
branches; | ||
next 1.1; | ||
|
||
1.1 | ||
date 2009.02.21.18.11.14; author tester; state Exp; | ||
branches; | ||
next ; | ||
|
||
|
||
desc | ||
@@ | ||
|
||
|
||
1.2 | ||
log | ||
@Rev 3 | ||
@ | ||
text | ||
@1.2 | ||
@ | ||
|
||
|
||
1.1 | ||
log | ||
@Rev 2 | ||
@ | ||
text | ||
@d1 1 | ||
a1 1 | ||
1.1 | ||
@ |