git-commit-vandalism/t/t9603-cvsimport-patchsets.sh
Junio C Hamano 9b777a165e cvs tests: do not touch test CVS repositories shipped with source
Some tests in t96xx series (cvsimport) want to write into the control area
(CVSROOT) of their test CVS repositories, but this does not work well when
the source area is made read-only (test trash directories are moved via
--root=else/where option).

Copy the supplied test CVS repository to a scratch place at the beginning
of these tests.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-08-18 12:43:24 -07:00

40 lines
1.1 KiB
Bash
Executable File

#!/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
setup_cvs_test_repository t9603
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