mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
Merge branch 'hv/cvsps-tests'
* hv/cvsps-tests: t/t9600: remove exit after test_done cvsimport: extend testcase about patchset order to contain branches cvsimport: add test illustrating a bug in cvsps Add a test of "git cvsimport"'s handling of tags and branches Add some tests of git-cvsimport's handling of vendor branches Test contents of entire cvsimported "master" tree contents Use CVS's -f option if available (ignore user's ~/.cvsrc file) Start a library for cvsimport-related tests
This commit is contained in:
commit
b65954d172
75
t/lib-cvs.sh
Normal file
75
t/lib-cvs.sh
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
unset CVS_SERVER
|
||||||
|
# for clean cvsps cache
|
||||||
|
HOME=$(pwd)
|
||||||
|
export HOME
|
||||||
|
|
||||||
|
if ! type cvs >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
say 'skipping cvsimport tests, cvs not found'
|
||||||
|
test_done
|
||||||
|
fi
|
||||||
|
|
||||||
|
CVS="cvs -f"
|
||||||
|
export CVS
|
||||||
|
|
||||||
|
cvsps_version=`cvsps -h 2>&1 | sed -ne 's/cvsps version //p'`
|
||||||
|
case "$cvsps_version" in
|
||||||
|
2.1 | 2.2*)
|
||||||
|
;;
|
||||||
|
'')
|
||||||
|
say 'skipping cvsimport tests, cvsps not found'
|
||||||
|
test_done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
say 'skipping cvsimport tests, unsupported cvsps version'
|
||||||
|
test_done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
test_cvs_co () {
|
||||||
|
# Usage: test_cvs_co BRANCH_NAME
|
||||||
|
rm -rf module-cvs-"$1"
|
||||||
|
if [ "$1" = "master" ]
|
||||||
|
then
|
||||||
|
$CVS co -P -d module-cvs-"$1" -A module
|
||||||
|
else
|
||||||
|
$CVS co -P -d module-cvs-"$1" -r "$1" module
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
test_git_co () {
|
||||||
|
# Usage: test_git_co BRANCH_NAME
|
||||||
|
(cd module-git && git checkout "$1")
|
||||||
|
}
|
||||||
|
|
||||||
|
test_cmp_branch_file () {
|
||||||
|
# Usage: test_cmp_branch_file BRANCH_NAME PATH
|
||||||
|
# The branch must already be checked out of CVS and git.
|
||||||
|
test_cmp module-cvs-"$1"/"$2" module-git/"$2"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_cmp_branch_tree () {
|
||||||
|
# Usage: test_cmp_branch_tree BRANCH_NAME
|
||||||
|
# Check BRANCH_NAME out of CVS and git and make sure that all
|
||||||
|
# of the files and directories are identical.
|
||||||
|
|
||||||
|
test_cvs_co "$1" &&
|
||||||
|
test_git_co "$1" &&
|
||||||
|
(
|
||||||
|
cd module-cvs-"$1"
|
||||||
|
find . -type d -name CVS -prune -o -type f -print
|
||||||
|
) | sort >module-cvs-"$1".list &&
|
||||||
|
(
|
||||||
|
cd module-git
|
||||||
|
find . -type d -name .git -prune -o -type f -print
|
||||||
|
) | sort >module-git-"$1".list &&
|
||||||
|
test_cmp module-cvs-"$1".list module-git-"$1".list &&
|
||||||
|
cat module-cvs-"$1".list | while read f
|
||||||
|
do
|
||||||
|
test_cmp_branch_file "$1" "$f" || return 1
|
||||||
|
done
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
test_description='git cvsimport basic tests'
|
test_description='git cvsimport basic tests'
|
||||||
. ./test-lib.sh
|
. ./lib-cvs.sh
|
||||||
|
|
||||||
if ! test_have_prereq PERL; then
|
if ! test_have_prereq PERL; then
|
||||||
say 'skipping git cvsimport tests, perl not available'
|
say 'skipping git cvsimport tests, perl not available'
|
||||||
|
@ -10,37 +10,13 @@ fi
|
||||||
|
|
||||||
CVSROOT=$(pwd)/cvsroot
|
CVSROOT=$(pwd)/cvsroot
|
||||||
export CVSROOT
|
export CVSROOT
|
||||||
unset CVS_SERVER
|
|
||||||
# for clean cvsps cache
|
|
||||||
HOME=$(pwd)
|
|
||||||
export HOME
|
|
||||||
|
|
||||||
if ! type cvs >/dev/null 2>&1
|
test_expect_success 'setup cvsroot' '$CVS init'
|
||||||
then
|
|
||||||
say 'skipping cvsimport tests, cvs not found'
|
|
||||||
test_done
|
|
||||||
fi
|
|
||||||
|
|
||||||
cvsps_version=`cvsps -h 2>&1 | sed -ne 's/cvsps version //p'`
|
|
||||||
case "$cvsps_version" in
|
|
||||||
2.1 | 2.2*)
|
|
||||||
;;
|
|
||||||
'')
|
|
||||||
say 'skipping cvsimport tests, cvsps not found'
|
|
||||||
test_done
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
say 'skipping cvsimport tests, unsupported cvsps version'
|
|
||||||
test_done
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
test_expect_success 'setup cvsroot' 'cvs init'
|
|
||||||
|
|
||||||
test_expect_success 'setup a cvs module' '
|
test_expect_success 'setup a cvs module' '
|
||||||
|
|
||||||
mkdir "$CVSROOT/module" &&
|
mkdir "$CVSROOT/module" &&
|
||||||
cvs co -d module-cvs module &&
|
$CVS co -d module-cvs module &&
|
||||||
cd module-cvs &&
|
cd module-cvs &&
|
||||||
cat <<EOF >o_fortuna &&
|
cat <<EOF >o_fortuna &&
|
||||||
O Fortuna
|
O Fortuna
|
||||||
|
@ -59,13 +35,13 @@ egestatem,
|
||||||
potestatem
|
potestatem
|
||||||
dissolvit ut glaciem.
|
dissolvit ut glaciem.
|
||||||
EOF
|
EOF
|
||||||
cvs add o_fortuna &&
|
$CVS add o_fortuna &&
|
||||||
cat <<EOF >message &&
|
cat <<EOF >message &&
|
||||||
add "O Fortuna" lyrics
|
add "O Fortuna" lyrics
|
||||||
|
|
||||||
These public domain lyrics make an excellent sample text.
|
These public domain lyrics make an excellent sample text.
|
||||||
EOF
|
EOF
|
||||||
cvs commit -F message &&
|
$CVS commit -F message &&
|
||||||
cd ..
|
cd ..
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -103,7 +79,7 @@ translate to English
|
||||||
|
|
||||||
My Latin is terrible.
|
My Latin is terrible.
|
||||||
EOF
|
EOF
|
||||||
cvs commit -F message &&
|
$CVS commit -F message &&
|
||||||
cd ..
|
cd ..
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -121,8 +97,8 @@ test_expect_success 'update cvs module' '
|
||||||
|
|
||||||
cd module-cvs &&
|
cd module-cvs &&
|
||||||
echo 1 >tick &&
|
echo 1 >tick &&
|
||||||
cvs add tick &&
|
$CVS add tick &&
|
||||||
cvs commit -m 1
|
$CVS commit -m 1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -140,7 +116,7 @@ test_expect_success 'cvsimport.module config works' '
|
||||||
|
|
||||||
test_expect_success 'import from a CVS working tree' '
|
test_expect_success 'import from a CVS working tree' '
|
||||||
|
|
||||||
cvs co -d import-from-wt module &&
|
$CVS co -d import-from-wt module &&
|
||||||
cd import-from-wt &&
|
cd import-from-wt &&
|
||||||
git cvsimport -a -z0 &&
|
git cvsimport -a -z0 &&
|
||||||
echo 1 >expect &&
|
echo 1 >expect &&
|
||||||
|
@ -150,4 +126,6 @@ test_expect_success 'import from a CVS working tree' '
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
86
t/t9601-cvsimport-vendor-branch.sh
Executable file
86
t/t9601-cvsimport-vendor-branch.sh
Executable file
|
@ -0,0 +1,86 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Description of the files in the repository:
|
||||||
|
#
|
||||||
|
# imported-once.txt:
|
||||||
|
#
|
||||||
|
# Imported once. 1.1 and 1.1.1.1 should be identical.
|
||||||
|
#
|
||||||
|
# imported-twice.txt:
|
||||||
|
#
|
||||||
|
# Imported twice. HEAD should reflect the contents of the
|
||||||
|
# second import (i.e., have the same contents as 1.1.1.2).
|
||||||
|
#
|
||||||
|
# imported-modified.txt:
|
||||||
|
#
|
||||||
|
# Imported, then modified on HEAD. HEAD should reflect the
|
||||||
|
# modification.
|
||||||
|
#
|
||||||
|
# imported-modified-imported.txt:
|
||||||
|
#
|
||||||
|
# Imported, then modified on HEAD, then imported again.
|
||||||
|
#
|
||||||
|
# added-imported.txt,v:
|
||||||
|
#
|
||||||
|
# Added with 'cvs add' to create 1.1, then imported with
|
||||||
|
# completely different contents to create 1.1.1.1, therefore the
|
||||||
|
# vendor branch was never the default branch.
|
||||||
|
#
|
||||||
|
# imported-anonymously.txt:
|
||||||
|
#
|
||||||
|
# Like imported-twice.txt, but with a vendor branch whose branch
|
||||||
|
# tag has been removed.
|
||||||
|
|
||||||
|
test_description='git cvsimport handling of vendor branches'
|
||||||
|
. ./lib-cvs.sh
|
||||||
|
|
||||||
|
CVSROOT="$TEST_DIRECTORY"/t9601/cvsroot
|
||||||
|
export CVSROOT
|
||||||
|
|
||||||
|
test_expect_success 'import a module with a vendor branch' '
|
||||||
|
|
||||||
|
git cvsimport -C module-git module
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'check HEAD out of cvs repository' 'test_cvs_co master'
|
||||||
|
|
||||||
|
test_expect_success 'check master out of git repository' 'test_git_co master'
|
||||||
|
|
||||||
|
test_expect_success 'check a file that was imported once' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master imported-once.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'check a file that was imported twice' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master imported-twice.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'check a file that was imported then modified on HEAD' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master imported-modified.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'check a file that was imported, modified, then imported again' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master imported-modified-imported.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'check a file that was added to HEAD then imported' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master added-imported.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'a vendor branch whose tag has been removed' '
|
||||||
|
|
||||||
|
test_cmp_branch_file master imported-anonymously.txt
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
1
t/t9601/cvsroot/.gitattributes
vendored
Normal file
1
t/t9601/cvsroot/.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* -whitespace
|
2
t/t9601/cvsroot/CVSROOT/.gitignore
vendored
Normal file
2
t/t9601/cvsroot/CVSROOT/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
history
|
||||||
|
val-tags
|
44
t/t9601/cvsroot/module/added-imported.txt,v
Normal file
44
t/t9601/cvsroot/module/added-imported.txt,v
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
head 1.1;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-4:1.1.1.1
|
||||||
|
vbranchA:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.15; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.16; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Add a file to the working copy.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@Adding this file, before importing it with different contents.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-4).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
This is vtag-4 (on vbranchA) of added-then-imported.txt.
|
||||||
|
@
|
||||||
|
|
42
t/t9601/cvsroot/module/imported-anonymously.txt,v
Normal file
42
t/t9601/cvsroot/module/imported-anonymously.txt,v
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
head 1.1;
|
||||||
|
branch 1.1.1;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-1:1.1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is vtag-1 (on vbranchA) of imported-anonymously.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-1).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
76
t/t9601/cvsroot/module/imported-modified-imported.txt,v
Normal file
76
t/t9601/cvsroot/module/imported-modified-imported.txt,v
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-2:1.1.1.2
|
||||||
|
vtag-1:1.1.1.1
|
||||||
|
vbranchA:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2004.02.09.15.43.14; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1.1.2;
|
||||||
|
|
||||||
|
1.1.1.2
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@First regular commit, to imported-modified-imported.txt, on HEAD.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is a modification of imported-modified-imported.txt on HEAD.
|
||||||
|
It should supersede the version from the vendor branch.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 2
|
||||||
|
a2 1
|
||||||
|
This is vtag-1 (on vbranchA) of imported-modified-imported.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-1).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.2
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-2).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
This is vtag-2 (on vbranchA) of imported-modified-imported.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
59
t/t9601/cvsroot/module/imported-modified.txt,v
Normal file
59
t/t9601/cvsroot/module/imported-modified.txt,v
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-1:1.1.1.1
|
||||||
|
vbranchA:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2004.02.09.15.43.14; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Commit on HEAD.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is a modification of imported-modified.txt on HEAD.
|
||||||
|
It should supersede the version from the vendor branch.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 2
|
||||||
|
a2 1
|
||||||
|
This is vtag-1 (on vbranchA) of imported-modified.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-1).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
43
t/t9601/cvsroot/module/imported-once.txt,v
Normal file
43
t/t9601/cvsroot/module/imported-once.txt,v
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
head 1.1;
|
||||||
|
branch 1.1.1;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-1:1.1.1.1
|
||||||
|
vbranchA:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is vtag-1 (on vbranchA) of imported-once.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-1).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
60
t/t9601/cvsroot/module/imported-twice.txt,v
Normal file
60
t/t9601/cvsroot/module/imported-twice.txt,v
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
head 1.1;
|
||||||
|
branch 1.1.1;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
vtag-2:1.1.1.2
|
||||||
|
vtag-1:1.1.1.1
|
||||||
|
vbranchA:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1.1.2;
|
||||||
|
|
||||||
|
1.1.1.2
|
||||||
|
date 2004.02.09.15.43.13; author kfogel; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is vtag-1 (on vbranchA) of imported-twice.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-1).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.2
|
||||||
|
log
|
||||||
|
@Import (vbranchA, vtag-2).
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
This is vtag-2 (on vbranchA) of imported-twice.txt.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
79
t/t9602-cvsimport-branches-tags.sh
Executable file
79
t/t9602-cvsimport-branches-tags.sh
Executable file
|
@ -0,0 +1,79 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# A description of the repository used for this test can be found in
|
||||||
|
# t9602/README.
|
||||||
|
|
||||||
|
test_description='git cvsimport handling of branches and tags'
|
||||||
|
. ./lib-cvs.sh
|
||||||
|
|
||||||
|
CVSROOT="$TEST_DIRECTORY"/t9602/cvsroot
|
||||||
|
export CVSROOT
|
||||||
|
|
||||||
|
test_expect_success 'import module' '
|
||||||
|
|
||||||
|
git cvsimport -C module-git module
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test branch master' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree master
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test branch vendorbranch' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree vendorbranch
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test branch B_FROM_INITIALS' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree B_FROM_INITIALS
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test branch B_FROM_INITIALS_BUT_ONE' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree B_FROM_INITIALS_BUT_ONE
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test branch B_MIXED' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree B_MIXED
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test branch B_SPLIT' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree B_SPLIT
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test tag vendortag' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree vendortag
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test tag T_ALL_INITIAL_FILES' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree T_ALL_INITIAL_FILES
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test tag T_ALL_INITIAL_FILES_BUT_ONE' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree T_ALL_INITIAL_FILES_BUT_ONE
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure 'test tag T_MIXED' '
|
||||||
|
|
||||||
|
test_cmp_branch_tree T_MIXED
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
|
||||||
|
test_done
|
62
t/t9602/README
Normal file
62
t/t9602/README
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
This repository is for testing the ability to group revisions
|
||||||
|
correctly along tags and branches. Here is its history:
|
||||||
|
|
||||||
|
1. The initial import (revision 1.1 of everybody) created a
|
||||||
|
directory structure with a file named `default' in each dir:
|
||||||
|
|
||||||
|
./
|
||||||
|
default
|
||||||
|
sub1/default
|
||||||
|
subsubA/default
|
||||||
|
subsubB/default
|
||||||
|
sub2/default
|
||||||
|
subsubA/default
|
||||||
|
sub3/default
|
||||||
|
|
||||||
|
2. Then tagged everyone with T_ALL_INITIAL_FILES.
|
||||||
|
|
||||||
|
3. Then tagged everyone except sub1/subsubB/default with
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE.
|
||||||
|
|
||||||
|
4. Then created branch B_FROM_INITIALS on everyone.
|
||||||
|
|
||||||
|
5. Then created branch B_FROM_INITIALS_BUT_ONE on everyone except
|
||||||
|
/sub1/subsubB/default.
|
||||||
|
|
||||||
|
6. Then committed modifications to two files: sub3/default, and
|
||||||
|
sub1/subsubA/default.
|
||||||
|
|
||||||
|
7. Then committed a modification to all 7 files.
|
||||||
|
|
||||||
|
8. Then backdated sub3/default to revision 1.2, and
|
||||||
|
sub2/subsubA/default to revision 1.1, and tagged with T_MIXED.
|
||||||
|
|
||||||
|
9. Same as 8, but tagged with -b to create branch B_MIXED.
|
||||||
|
|
||||||
|
10. Switched the working copy to B_MIXED, and added
|
||||||
|
sub2/branch_B_MIXED_only. (That's why the RCS file is in
|
||||||
|
sub2/Attic/ -- it never existed on trunk.)
|
||||||
|
|
||||||
|
11. In one commit, modified default, sub1/default, and
|
||||||
|
sub2/subsubA/default, on branch B_MIXED.
|
||||||
|
|
||||||
|
12. Did "cvs up -A" on sub2/default, then in one commit, made a
|
||||||
|
change to sub2/default and sub2/branch_B_MIXED_only. So this
|
||||||
|
commit should be spread between the branch and the trunk.
|
||||||
|
|
||||||
|
13. Do "cvs up -A" to get everyone back to trunk, then make a new
|
||||||
|
branch B_SPLIT on everyone except sub1/subsubB/default,v.
|
||||||
|
|
||||||
|
14. Switch to branch B_SPLIT (see sub1/subsubB/default disappear)
|
||||||
|
and commit a change that affects everyone except sub3/default.
|
||||||
|
|
||||||
|
15. An hour or so later, "cvs up -A" to get sub1/subsubB/default
|
||||||
|
back, then commit a change on that file, on trunk. (It's
|
||||||
|
important that this change happened after the previous commits
|
||||||
|
on B_SPLIT.)
|
||||||
|
|
||||||
|
16. Branch sub1/subsubB/default to B_SPLIT, then "cvs up -r B_SPLIT"
|
||||||
|
to switch the whole working copy to the branch.
|
||||||
|
|
||||||
|
17. Commit a change on B_SPLIT, to sub1/subsubB/default and
|
||||||
|
sub3/default.
|
1
t/t9602/cvsroot/.gitattributes
vendored
Normal file
1
t/t9602/cvsroot/.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* -whitespace
|
2
t/t9602/cvsroot/CVSROOT/.gitignore
vendored
Normal file
2
t/t9602/cvsroot/CVSROOT/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
history
|
||||||
|
val-tags
|
102
t/t9602/cvsroot/module/default,v
Normal file
102
t/t9602/cvsroot/module/default,v
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.2.0.4
|
||||||
|
B_MIXED:1.2.0.2
|
||||||
|
T_MIXED:1.2
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.2.2.1
|
||||||
|
1.2.4.1;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
date 2003.05.23.00.31.36; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.4.1
|
||||||
|
date 2003.06.03.03.20.31; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is the file `default' in the top level of the project.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.4.1
|
||||||
|
log
|
||||||
|
@First change on branch B_SPLIT.
|
||||||
|
|
||||||
|
This change excludes sub3/default, because it was not part of this
|
||||||
|
commit, and sub1/subsubB/default, which is not even on the branch yet.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a5 2
|
||||||
|
|
||||||
|
First change on branch B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
log
|
||||||
|
@Modify three files, on branch B_MIXED.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a5 2
|
||||||
|
|
||||||
|
This line was added on branch B_MIXED only (affecting 3 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
102
t/t9602/cvsroot/module/sub1/default,v
Normal file
102
t/t9602/cvsroot/module/sub1/default,v
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.2.0.4
|
||||||
|
B_MIXED:1.2.0.2
|
||||||
|
T_MIXED:1.2
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.2.2.1
|
||||||
|
1.2.4.1;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
date 2003.05.23.00.31.36; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.4.1
|
||||||
|
date 2003.06.03.03.20.31; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub1/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.4.1
|
||||||
|
log
|
||||||
|
@First change on branch B_SPLIT.
|
||||||
|
|
||||||
|
This change excludes sub3/default, because it was not part of this
|
||||||
|
commit, and sub1/subsubB/default, which is not even on the branch yet.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a5 2
|
||||||
|
|
||||||
|
First change on branch B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
log
|
||||||
|
@Modify three files, on branch B_MIXED.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a5 2
|
||||||
|
|
||||||
|
This line was added on branch B_MIXED only (affecting 3 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
101
t/t9602/cvsroot/module/sub1/subsubA/default,v
Normal file
101
t/t9602/cvsroot/module/sub1/subsubA/default,v
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
head 1.3;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.3.0.4
|
||||||
|
B_MIXED:1.3.0.2
|
||||||
|
T_MIXED:1.3
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.3.4.1;
|
||||||
|
next 1.2;
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.15.26; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.3.4.1
|
||||||
|
date 2003.06.03.03.20.31; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub1/subsubA/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added by the first commit (affecting two files).
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.3.4.1
|
||||||
|
log
|
||||||
|
@First change on branch B_SPLIT.
|
||||||
|
|
||||||
|
This change excludes sub3/default, because it was not part of this
|
||||||
|
commit, and sub1/subsubB/default, which is not even on the branch yet.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a7 2
|
||||||
|
|
||||||
|
First change on branch B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@First commit to proj, affecting two files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d6 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
107
t/t9602/cvsroot/module/sub1/subsubB/default,v
Normal file
107
t/t9602/cvsroot/module/sub1/subsubB/default,v
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
head 1.3;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.3.0.2
|
||||||
|
B_MIXED:1.2.0.2
|
||||||
|
T_MIXED:1.2
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
date 2003.06.03.04.29.14; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.3.2.1;
|
||||||
|
next 1.2;
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
date 2003.06.03.04.33.13; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
log
|
||||||
|
@A trunk change to sub1/subsubB/default. This was committed about an
|
||||||
|
hour after an earlier change that affected most files on branch
|
||||||
|
B_SPLIT. This file is not on that branch yet, but after this commit,
|
||||||
|
we'll branch to B_SPLIT, albeit rooted in a revision that didn't exist
|
||||||
|
at the time the rest of B_SPLIT was created.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub1/subsubB/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
|
||||||
|
This bit was committed on trunk about an hour after an earlier change
|
||||||
|
to everyone else on branch B_SPLIT. Afterwards, we'll finally branch
|
||||||
|
this file to B_SPLIT, but rooted in a revision that didn't exist at
|
||||||
|
the time the rest of B_SPLIT was created.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
log
|
||||||
|
@This change affects sub3/default and sub1/subsubB/default, on branch
|
||||||
|
B_SPLIT. Note that the latter file did not even exist on this branch
|
||||||
|
until after some other files had had revisions committed on B_SPLIT.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a10 4
|
||||||
|
|
||||||
|
This change affects sub3/default and sub1/subsubB/default, on branch
|
||||||
|
B_SPLIT. Note that the latter file did not even exist on this branch
|
||||||
|
until after some other files had had revisions committed on B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d6 5
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
59
t/t9602/cvsroot/module/sub2/Attic/branch_B_MIXED_only,v
Normal file
59
t/t9602/cvsroot/module/sub2/Attic/branch_B_MIXED_only,v
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
head 1.1;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_MIXED:1.1.0.2;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.23.00.25.26; author jrandom; state dead;
|
||||||
|
branches
|
||||||
|
1.1.2.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.2.1
|
||||||
|
date 2003.05.23.00.25.26; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1.2.2;
|
||||||
|
|
||||||
|
1.1.2.2
|
||||||
|
date 2003.05.23.00.48.51; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@file branch_B_MIXED_only was initially added on branch B_MIXED.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.2.1
|
||||||
|
log
|
||||||
|
@Add a file on branch B_MIXED.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a0 1
|
||||||
|
This file was added on branch B_MIXED. It never existed on trunk.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.2.2
|
||||||
|
log
|
||||||
|
@A single commit affecting one file on branch B_MIXED and one on trunk.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a1 3
|
||||||
|
|
||||||
|
The same commit added these two lines here on branch B_MIXED, and two
|
||||||
|
similar lines to ./default on trunk.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
102
t/t9602/cvsroot/module/sub2/default,v
Normal file
102
t/t9602/cvsroot/module/sub2/default,v
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
head 1.3;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.3.0.2
|
||||||
|
B_MIXED:1.2.0.2
|
||||||
|
T_MIXED:1.2
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
date 2003.05.23.00.48.51; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.3.2.1;
|
||||||
|
next 1.2;
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
date 2003.06.03.03.20.31; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
log
|
||||||
|
@A single commit affecting one file on branch B_MIXED and one on trunk.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub2/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
|
||||||
|
The same commit added these two lines here on trunk, and two similar
|
||||||
|
lines to ./branch_B_MIXED_only on branch B_MIXED.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
log
|
||||||
|
@First change on branch B_SPLIT.
|
||||||
|
|
||||||
|
This change excludes sub3/default, because it was not part of this
|
||||||
|
commit, and sub1/subsubB/default, which is not even on the branch yet.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a8 2
|
||||||
|
|
||||||
|
First change on branch B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d6 3
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
102
t/t9602/cvsroot/module/sub2/subsubA/default,v
Normal file
102
t/t9602/cvsroot/module/sub2/subsubA/default,v
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.2.0.2
|
||||||
|
B_MIXED:1.1.0.2
|
||||||
|
T_MIXED:1.1
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.2.2.1;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1
|
||||||
|
1.1.2.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.2.1
|
||||||
|
date 2003.05.23.00.31.36; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
date 2003.06.03.03.20.31; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub2/subsub2/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
log
|
||||||
|
@First change on branch B_SPLIT.
|
||||||
|
|
||||||
|
This change excludes sub3/default, because it was not part of this
|
||||||
|
commit, and sub1/subsubB/default, which is not even on the branch yet.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a5 2
|
||||||
|
|
||||||
|
First change on branch B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.2.1
|
||||||
|
log
|
||||||
|
@Modify three files, on branch B_MIXED.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a3 2
|
||||||
|
|
||||||
|
This line was added on branch B_MIXED only (affecting 3 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
102
t/t9602/cvsroot/module/sub3/default,v
Normal file
102
t/t9602/cvsroot/module/sub3/default,v
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
head 1.3;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
B_SPLIT:1.3.0.2
|
||||||
|
B_MIXED:1.2.0.2
|
||||||
|
T_MIXED:1.2
|
||||||
|
B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
|
||||||
|
B_FROM_INITIALS:1.1.1.1.0.2
|
||||||
|
T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
|
||||||
|
T_ALL_INITIAL_FILES:1.1.1.1
|
||||||
|
vendortag:1.1.1.1
|
||||||
|
vendorbranch:1.1.1;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
date 2003.05.23.00.17.53; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.3.2.1;
|
||||||
|
next 1.2;
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2003.05.23.00.15.26; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches
|
||||||
|
1.1.1.1;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
date 2003.05.22.23.20.19; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
date 2003.06.03.04.33.13; author jrandom; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
log
|
||||||
|
@Second commit to proj, affecting all 7 files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@This is sub3/default.
|
||||||
|
|
||||||
|
Every directory in the `proj' project has a file named `default'.
|
||||||
|
|
||||||
|
This line was added by the first commit (affecting two files).
|
||||||
|
|
||||||
|
This line was added in the second commit (affecting all 7 files).
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.3.2.1
|
||||||
|
log
|
||||||
|
@This change affects sub3/default and sub1/subsubB/default, on branch
|
||||||
|
B_SPLIT. Note that the latter file did not even exist on this branch
|
||||||
|
until after some other files had had revisions committed on B_SPLIT.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@a7 4
|
||||||
|
|
||||||
|
This change affects sub3/default and sub1/subsubB/default, on branch
|
||||||
|
B_SPLIT. Note that the latter file did not even exist on this branch
|
||||||
|
until after some other files had had revisions committed on B_SPLIT.
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@First commit to proj, affecting two files.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d6 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Initial revision
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d4 2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1.1.1
|
||||||
|
log
|
||||||
|
@Initial import.
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@@
|
40
t/t9603-cvsimport-patchsets.sh
Executable file
40
t/t9603-cvsimport-patchsets.sh
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/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-master &&
|
||||||
|
git log A~2..A --pretty="format:%s %ad" -- > ../actual-A &&
|
||||||
|
echo "" >> ../actual-master &&
|
||||||
|
echo "" >> ../actual-A &&
|
||||||
|
cd .. &&
|
||||||
|
echo "Rev 4
|
||||||
|
Rev 3
|
||||||
|
Rev 2
|
||||||
|
Rev 1" > expect-master &&
|
||||||
|
test_cmp actual-master expect-master &&
|
||||||
|
|
||||||
|
echo "Rev 5 Branch A Wed Mar 11 19:09:10 2009 +0000
|
||||||
|
Rev 4 Branch A Wed Mar 11 19:03:52 2009 +0000" > expect-A &&
|
||||||
|
test_cmp actual-A expect-A
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
1
t/t9603/cvsroot/.gitattributes
vendored
Normal file
1
t/t9603/cvsroot/.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* -whitespace
|
2
t/t9603/cvsroot/CVSROOT/.gitignore
vendored
Normal file
2
t/t9603/cvsroot/CVSROOT/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
history
|
||||||
|
val-tags
|
74
t/t9603/cvsroot/module/a,v
Normal file
74
t/t9603/cvsroot/module/a,v
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
head 1.2;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
A:1.2.0.2;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2009.02.21.18.11.14; author tester; state Exp;
|
||||||
|
branches
|
||||||
|
1.2.2.1;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2009.02.21.18.11.43; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
date 2009.03.11.19.03.52; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.2.2.2;
|
||||||
|
|
||||||
|
1.2.2.2
|
||||||
|
date 2009.03.11.19.09.10; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Rev 2
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@1.2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
log
|
||||||
|
@Rev 4 Branch A
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.2.2.1
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.2
|
||||||
|
log
|
||||||
|
@Rev 5 Branch A
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.2.2.2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Rev 1
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.1
|
||||||
|
@
|
90
t/t9603/cvsroot/module/b,v
Normal file
90
t/t9603/cvsroot/module/b,v
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
head 1.3;
|
||||||
|
access;
|
||||||
|
symbols
|
||||||
|
A:1.2.0.2;
|
||||||
|
locks; strict;
|
||||||
|
comment @# @;
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
date 2009.03.11.19.05.08; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.2;
|
||||||
|
|
||||||
|
1.2
|
||||||
|
date 2009.02.21.18.11.43; author tester; state Exp;
|
||||||
|
branches
|
||||||
|
1.2.2.1;
|
||||||
|
next 1.1;
|
||||||
|
|
||||||
|
1.1
|
||||||
|
date 2009.02.21.18.11.14; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
date 2009.03.11.19.03.52; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next 1.2.2.2;
|
||||||
|
|
||||||
|
1.2.2.2
|
||||||
|
date 2009.03.11.19.09.10; author tester; state Exp;
|
||||||
|
branches;
|
||||||
|
next ;
|
||||||
|
|
||||||
|
|
||||||
|
desc
|
||||||
|
@@
|
||||||
|
|
||||||
|
|
||||||
|
1.3
|
||||||
|
log
|
||||||
|
@Rev 4
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@1.3
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2
|
||||||
|
log
|
||||||
|
@Rev 3
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.1
|
||||||
|
log
|
||||||
|
@Rev 4 Branch A
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.2.2.1
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.2.2.2
|
||||||
|
log
|
||||||
|
@Rev 5 Branch A
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.2
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
|
1.1
|
||||||
|
log
|
||||||
|
@Rev 2
|
||||||
|
@
|
||||||
|
text
|
||||||
|
@d1 1
|
||||||
|
a1 1
|
||||||
|
1.1
|
||||||
|
@
|
Loading…
Reference in a new issue