t9402: Use TABs for indentation

Use TAB's for indentation, and wrap overlong lines.
Put the closing ' at the beginning of the line.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Torsten Bögershausen 2012-12-08 22:35:53 +01:00 коммит произвёл Junio C Hamano
Родитель eacdd428bc
Коммит 828eff76b0
1 изменённых файлов: 376 добавлений и 375 удалений

Просмотреть файл

@ -10,56 +10,57 @@ tags, branches and other git refspecs'
######### #########
check_start_tree() { check_start_tree() {
rm -f "$WORKDIR/list.expected" rm -f "$WORKDIR/list.expected"
echo "start $1" >>"${WORKDIR}/check.log" echo "start $1" >>"${WORKDIR}/check.log"
} }
check_file() { check_file() {
sandbox="$1" sandbox="$1"
file="$2" file="$2"
ver="$3" ver="$3"
GIT_DIR=$SERVERDIR git show "${ver}:${file}" \ GIT_DIR=$SERVERDIR git show "${ver}:${file}" \
>"$WORKDIR/check.got" 2>"$WORKDIR/check.stderr" >"$WORKDIR/check.got" 2>"$WORKDIR/check.stderr"
test_cmp "$WORKDIR/check.got" "$sandbox/$file" test_cmp "$WORKDIR/check.got" "$sandbox/$file"
stat=$? stat=$?
echo "check_file $sandbox $file $ver : $stat" >>"$WORKDIR/check.log" echo "check_file $sandbox $file $ver : $stat" >>"$WORKDIR/check.log"
echo "$file" >>"$WORKDIR/list.expected" echo "$file" >>"$WORKDIR/list.expected"
return $stat return $stat
} }
check_end_tree() { check_end_tree() {
sandbox="$1" && sandbox="$1" &&
find "$sandbox" -name CVS -prune -o -type f -print >"$WORKDIR/list.actual" && find "$sandbox" -name CVS -prune -o -type f -print >"$WORKDIR/list.actual" &&
sort <"$WORKDIR/list.expected" >expected && sort <"$WORKDIR/list.expected" >expected &&
sort <"$WORKDIR/list.actual" | sed -e "s%cvswork/%%" >actual && sort <"$WORKDIR/list.actual" | sed -e "s%cvswork/%%" >actual &&
test_cmp expected actual && test_cmp expected actual &&
rm expected actual rm expected actual
} }
check_end_full_tree() { check_end_full_tree() {
sandbox="$1" && sandbox="$1" &&
sort <"$WORKDIR/list.expected" >expected && sort <"$WORKDIR/list.expected" >expected &&
find "$sandbox" -name CVS -prune -o -type f -print | sed -e "s%$sandbox/%%" | sort >act1 && find "$sandbox" -name CVS -prune -o -type f -print |
test_cmp expected act1 && sed -e "s%$sandbox/%%" | sort >act1 &&
git ls-tree --name-only -r "$2" | sort >act2 && test_cmp expected act1 &&
test_cmp expected act2 && git ls-tree --name-only -r "$2" | sort >act2 &&
rm expected act1 act2 test_cmp expected act2 &&
rm expected act1 act2
} }
######### #########
check_diff() { check_diff() {
diffFile="$1" diffFile="$1"
vOld="$2" vOld="$2"
vNew="$3" vNew="$3"
rm -rf diffSandbox rm -rf diffSandbox
git clone -q -n . diffSandbox && git clone -q -n . diffSandbox &&
( (
cd diffSandbox && cd diffSandbox &&
git checkout "$vOld" && git checkout "$vOld" &&
git apply -p0 --index <"../$diffFile" && git apply -p0 --index <"../$diffFile" &&
git diff --exit-code "$vNew" git diff --exit-code "$vNew"
) >check_diff_apply.out 2>&1 ) >check_diff_apply.out 2>&1
} }
######### #########
@ -67,17 +68,17 @@ check_diff() {
cvs >/dev/null 2>&1 cvs >/dev/null 2>&1
if test $? -ne 1 if test $? -ne 1
then then
skip_all='skipping git-cvsserver tests, cvs not found' skip_all='skipping git-cvsserver tests, cvs not found'
test_done test_done
fi fi
if ! test_have_prereq PERL if ! test_have_prereq PERL
then then
skip_all='skipping git-cvsserver tests, perl not available' skip_all='skipping git-cvsserver tests, perl not available'
test_done test_done
fi fi
"$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || { "$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
skip_all='skipping git-cvsserver tests, Perl SQLite interface unavailable' skip_all='skipping git-cvsserver tests, Perl SQLite interface unavailable'
test_done test_done
} }
unset GIT_DIR GIT_CONFIG unset GIT_DIR GIT_CONFIG
@ -91,414 +92,414 @@ export CVSROOT CVS_SERVER
rm -rf "$CVSWORK" "$SERVERDIR" rm -rf "$CVSWORK" "$SERVERDIR"
test_expect_success 'setup v1, b1' ' test_expect_success 'setup v1, b1' '
echo "Simple text file" >textfile.c && echo "Simple text file" >textfile.c &&
echo "t2" >t2 && echo "t2" >t2 &&
mkdir adir && mkdir adir &&
echo "adir/afile line1" >adir/afile && echo "adir/afile line1" >adir/afile &&
echo "adir/afile line2" >>adir/afile && echo "adir/afile line2" >>adir/afile &&
echo "adir/afile line3" >>adir/afile && echo "adir/afile line3" >>adir/afile &&
echo "adir/afile line4" >>adir/afile && echo "adir/afile line4" >>adir/afile &&
echo "adir/a2file" >>adir/a2file && echo "adir/a2file" >>adir/a2file &&
mkdir adir/bdir && mkdir adir/bdir &&
echo "adir/bdir/bfile line 1" >adir/bdir/bfile && echo "adir/bdir/bfile line 1" >adir/bdir/bfile &&
echo "adir/bdir/bfile line 2" >>adir/bdir/bfile && echo "adir/bdir/bfile line 2" >>adir/bdir/bfile &&
echo "adir/bdir/b2file" >adir/bdir/b2file && echo "adir/bdir/b2file" >adir/bdir/b2file &&
git add textfile.c t2 adir && git add textfile.c t2 adir &&
git commit -q -m "First Commit (v1)" && git commit -q -m "First Commit (v1)" &&
git tag v1 && git tag v1 &&
git branch b1 && git branch b1 &&
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 && git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true && GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log"
' '
rm -rf cvswork rm -rf cvswork
test_expect_success 'cvs co v1' ' test_expect_success 'cvs co v1' '
cvs -f -Q co -r v1 -d cvswork master >cvs.log 2>&1 && cvs -f -Q co -r v1 -d cvswork master >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
rm -rf cvswork rm -rf cvswork
test_expect_success 'cvs co b1' ' test_expect_success 'cvs co b1' '
cvs -f co -r b1 -d cvswork master >cvs.log 2>&1 && cvs -f co -r b1 -d cvswork master >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'cvs co b1 [cvswork3]' ' test_expect_success 'cvs co b1 [cvswork3]' '
cvs -f co -r b1 -d cvswork3 master >cvs.log 2>&1 && cvs -f co -r b1 -d cvswork3 master >cvs.log 2>&1 &&
check_start_tree cvswork3 && check_start_tree cvswork3 &&
check_file cvswork3 textfile.c v1 && check_file cvswork3 textfile.c v1 &&
check_file cvswork3 t2 v1 && check_file cvswork3 t2 v1 &&
check_file cvswork3 adir/afile v1 && check_file cvswork3 adir/afile v1 &&
check_file cvswork3 adir/a2file v1 && check_file cvswork3 adir/a2file v1 &&
check_file cvswork3 adir/bdir/bfile v1 && check_file cvswork3 adir/bdir/bfile v1 &&
check_file cvswork3 adir/bdir/b2file v1 && check_file cvswork3 adir/bdir/b2file v1 &&
check_end_full_tree cvswork3 v1 check_end_full_tree cvswork3 v1
' '
test_expect_success 'edit cvswork3 and save diff' ' test_expect_success 'edit cvswork3 and save diff' '
( (
cd cvswork3 && cd cvswork3 &&
sed -e "s/line1/line1 - data/" adir/afile >adir/afileNEW && sed -e "s/line1/line1 - data/" adir/afile >adir/afileNEW &&
mv -f adir/afileNEW adir/afile && mv -f adir/afileNEW adir/afile &&
echo "afile5" >adir/afile5 && echo "afile5" >adir/afile5 &&
rm t2 && rm t2 &&
cvs -f add adir/afile5 && cvs -f add adir/afile5 &&
cvs -f rm t2 && cvs -f rm t2 &&
! cvs -f diff -N -u >"$WORKDIR/cvswork3edit.diff" ! cvs -f diff -N -u >"$WORKDIR/cvswork3edit.diff"
) )
' '
test_expect_success 'setup v1.2 on b1' ' test_expect_success 'setup v1.2 on b1' '
git checkout b1 && git checkout b1 &&
echo "new v1.2" >t3 && echo "new v1.2" >t3 &&
rm t2 && rm t2 &&
sed -e "s/line3/line3 - more data/" adir/afile >adir/afileNEW && sed -e "s/line3/line3 - more data/" adir/afile >adir/afileNEW &&
mv -f adir/afileNEW adir/afile && mv -f adir/afileNEW adir/afile &&
rm adir/a2file && rm adir/a2file &&
echo "a3file" >>adir/a3file && echo "a3file" >>adir/a3file &&
echo "bfile line 3" >>adir/bdir/bfile && echo "bfile line 3" >>adir/bdir/bfile &&
rm adir/bdir/b2file && rm adir/bdir/b2file &&
echo "b3file" >adir/bdir/b3file && echo "b3file" >adir/bdir/b3file &&
mkdir cdir && mkdir cdir &&
echo "cdir/cfile" >cdir/cfile && echo "cdir/cfile" >cdir/cfile &&
git add -A cdir adir t3 t2 && git add -A cdir adir t3 t2 &&
git commit -q -m 'v1.2' && git commit -q -m 'v1.2' &&
git tag v1.2 && git tag v1.2 &&
git push --tags gitcvs.git b1:b1 git push --tags gitcvs.git b1:b1
' '
test_expect_success 'cvs -f up (on b1 adir)' ' test_expect_success 'cvs -f up (on b1 adir)' '
( cd cvswork/adir && cvs -f up -d ) >cvs.log 2>&1 && ( cd cvswork/adir && cvs -f up -d ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1.2 && check_file cvswork adir/afile v1.2 &&
check_file cvswork adir/a3file v1.2 && check_file cvswork adir/a3file v1.2 &&
check_file cvswork adir/bdir/bfile v1.2 && check_file cvswork adir/bdir/bfile v1.2 &&
check_file cvswork adir/bdir/b3file v1.2 && check_file cvswork adir/bdir/b3file v1.2 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'cvs up (on b1 /)' ' test_expect_success 'cvs up (on b1 /)' '
( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1.2 && check_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 && check_file cvswork t3 v1.2 &&
check_file cvswork adir/afile v1.2 && check_file cvswork adir/afile v1.2 &&
check_file cvswork adir/a3file v1.2 && check_file cvswork adir/a3file v1.2 &&
check_file cvswork adir/bdir/bfile v1.2 && check_file cvswork adir/bdir/bfile v1.2 &&
check_file cvswork adir/bdir/b3file v1.2 && check_file cvswork adir/bdir/b3file v1.2 &&
check_file cvswork cdir/cfile v1.2 && check_file cvswork cdir/cfile v1.2 &&
check_end_tree cvswork check_end_tree cvswork
' '
# Make sure "CVS/Tag" files didn't get messed up: # Make sure "CVS/Tag" files didn't get messed up:
test_expect_success 'cvs up (on b1 /) (again; check CVS/Tag files)' ' test_expect_success 'cvs up (on b1 /) (again; check CVS/Tag files)' '
( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1.2 && check_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 && check_file cvswork t3 v1.2 &&
check_file cvswork adir/afile v1.2 && check_file cvswork adir/afile v1.2 &&
check_file cvswork adir/a3file v1.2 && check_file cvswork adir/a3file v1.2 &&
check_file cvswork adir/bdir/bfile v1.2 && check_file cvswork adir/bdir/bfile v1.2 &&
check_file cvswork adir/bdir/b3file v1.2 && check_file cvswork adir/bdir/b3file v1.2 &&
check_file cvswork cdir/cfile v1.2 && check_file cvswork cdir/cfile v1.2 &&
check_end_tree cvswork check_end_tree cvswork
' '
# update to another version: # update to another version:
test_expect_success 'cvs up -r v1' ' test_expect_success 'cvs up -r v1' '
( cd cvswork && cvs -f up -r v1 ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r v1 ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'cvs up' ' test_expect_success 'cvs up' '
( cd cvswork && cvs -f up ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'cvs up (again; check CVS/Tag files)' ' test_expect_success 'cvs up (again; check CVS/Tag files)' '
( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -d ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'setup simple b2' ' test_expect_success 'setup simple b2' '
git branch b2 v1 && git branch b2 v1 &&
git push --tags gitcvs.git b2:b2 git push --tags gitcvs.git b2:b2
' '
test_expect_success 'cvs co b2 [into cvswork2]' ' test_expect_success 'cvs co b2 [into cvswork2]' '
cvs -f co -r b2 -d cvswork2 master >cvs.log 2>&1 && cvs -f co -r b2 -d cvswork2 master >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_tree cvswork check_end_tree cvswork
' '
test_expect_success 'root dir edit [cvswork2]' ' test_expect_success 'root dir edit [cvswork2]' '
( (
cd cvswork2 && echo "Line 2" >>textfile.c && cd cvswork2 && echo "Line 2" >>textfile.c &&
! cvs -f diff -u >"$WORKDIR/cvsEdit1.diff" && ! cvs -f diff -u >"$WORKDIR/cvsEdit1.diff" &&
cvs -f commit -m "edit textfile.c" textfile.c cvs -f commit -m "edit textfile.c" textfile.c
) >cvsEdit1.log 2>&1 ) >cvsEdit1.log 2>&1
' '
test_expect_success 'root dir rm file [cvswork2]' ' test_expect_success 'root dir rm file [cvswork2]' '
( (
cd cvswork2 && cd cvswork2 &&
cvs -f rm -f t2 && cvs -f rm -f t2 &&
cvs -f diff -u >../cvsEdit2-empty.diff && cvs -f diff -u >../cvsEdit2-empty.diff &&
! cvs -f diff -N -u >"$WORKDIR/cvsEdit2-N.diff" && ! cvs -f diff -N -u >"$WORKDIR/cvsEdit2-N.diff" &&
cvs -f commit -m "rm t2" cvs -f commit -m "rm t2"
) >cvsEdit2.log 2>&1 ) >cvsEdit2.log 2>&1
' '
test_expect_success 'subdir edit/add/rm files [cvswork2]' ' test_expect_success 'subdir edit/add/rm files [cvswork2]' '
( (
cd cvswork2 && cd cvswork2 &&
sed -e "s/line 1/line 1 (v2)/" adir/bdir/bfile >adir/bdir/bfileNEW && sed -e "s/line 1/line 1 (v2)/" adir/bdir/bfile >adir/bdir/bfileNEW &&
mv -f adir/bdir/bfileNEW adir/bdir/bfile && mv -f adir/bdir/bfileNEW adir/bdir/bfile &&
rm adir/bdir/b2file && rm adir/bdir/b2file &&
cd adir && cd adir &&
cvs -f rm bdir/b2file && cvs -f rm bdir/b2file &&
echo "4th file" >bdir/b4file && echo "4th file" >bdir/b4file &&
cvs -f add bdir/b4file && cvs -f add bdir/b4file &&
! cvs -f diff -N -u >"$WORKDIR/cvsEdit3.diff" && ! cvs -f diff -N -u >"$WORKDIR/cvsEdit3.diff" &&
git fetch gitcvs.git b2:b2 && git fetch gitcvs.git b2:b2 &&
( (
cd .. && cd .. &&
! cvs -f diff -u -N -r v1.2 >"$WORKDIR/cvsEdit3-v1.2.diff" && ! cvs -f diff -u -N -r v1.2 >"$WORKDIR/cvsEdit3-v1.2.diff" &&
! cvs -f diff -u -N -r v1.2 -r v1 >"$WORKDIR/cvsEdit3-v1.2-v1.diff" ! cvs -f diff -u -N -r v1.2 -r v1 >"$WORKDIR/cvsEdit3-v1.2-v1.diff"
) && ) &&
cvs -f commit -m "various add/rm/edit" cvs -f commit -m "various add/rm/edit"
) >cvs.log 2>&1 ) >cvs.log 2>&1
' '
test_expect_success 'validate result of edits [cvswork2]' ' test_expect_success 'validate result of edits [cvswork2]' '
git fetch gitcvs.git b2:b2 && git fetch gitcvs.git b2:b2 &&
git tag v2 b2 && git tag v2 b2 &&
git push --tags gitcvs.git b2:b2 && git push --tags gitcvs.git b2:b2 &&
check_start_tree cvswork2 && check_start_tree cvswork2 &&
check_file cvswork2 textfile.c v2 && check_file cvswork2 textfile.c v2 &&
check_file cvswork2 adir/afile v2 && check_file cvswork2 adir/afile v2 &&
check_file cvswork2 adir/a2file v2 && check_file cvswork2 adir/a2file v2 &&
check_file cvswork2 adir/bdir/bfile v2 && check_file cvswork2 adir/bdir/bfile v2 &&
check_file cvswork2 adir/bdir/b4file v2 && check_file cvswork2 adir/bdir/b4file v2 &&
check_end_full_tree cvswork2 v2 check_end_full_tree cvswork2 v2
' '
test_expect_success 'validate basic diffs saved during above cvswork2 edits' ' test_expect_success 'validate basic diffs saved during above cvswork2 edits' '
test $(grep Index: cvsEdit1.diff | wc -l) = 1 && test $(grep Index: cvsEdit1.diff | wc -l) = 1 &&
test ! -s cvsEdit2-empty.diff && test ! -s cvsEdit2-empty.diff &&
test $(grep Index: cvsEdit2-N.diff | wc -l) = 1 && test $(grep Index: cvsEdit2-N.diff | wc -l) = 1 &&
test $(grep Index: cvsEdit3.diff | wc -l) = 3 && test $(grep Index: cvsEdit3.diff | wc -l) = 3 &&
rm -rf diffSandbox && rm -rf diffSandbox &&
git clone -q -n . diffSandbox && git clone -q -n . diffSandbox &&
( (
cd diffSandbox && cd diffSandbox &&
git checkout v1 && git checkout v1 &&
git apply -p0 --index <"$WORKDIR/cvsEdit1.diff" && git apply -p0 --index <"$WORKDIR/cvsEdit1.diff" &&
git apply -p0 --index <"$WORKDIR/cvsEdit2-N.diff" && git apply -p0 --index <"$WORKDIR/cvsEdit2-N.diff" &&
git apply -p0 --directory=adir --index <"$WORKDIR/cvsEdit3.diff" && git apply -p0 --directory=adir --index <"$WORKDIR/cvsEdit3.diff" &&
git diff --exit-code v2 git diff --exit-code v2
) >"check_diff_apply.out" 2>&1 ) >"check_diff_apply.out" 2>&1
' '
test_expect_success 'validate v1.2 diff saved during last cvswork2 edit' ' test_expect_success 'validate v1.2 diff saved during last cvswork2 edit' '
test $(grep Index: cvsEdit3-v1.2.diff | wc -l) = 9 && test $(grep Index: cvsEdit3-v1.2.diff | wc -l) = 9 &&
check_diff cvsEdit3-v1.2.diff v1.2 v2 check_diff cvsEdit3-v1.2.diff v1.2 v2
' '
test_expect_success 'validate v1.2 v1 diff saved during last cvswork2 edit' ' test_expect_success 'validate v1.2 v1 diff saved during last cvswork2 edit' '
test $(grep Index: cvsEdit3-v1.2-v1.diff | wc -l) = 9 && test $(grep Index: cvsEdit3-v1.2-v1.diff | wc -l) = 9 &&
check_diff cvsEdit3-v1.2-v1.diff v1.2 v1 check_diff cvsEdit3-v1.2-v1.diff v1.2 v1
' '
test_expect_success 'cvs up [cvswork2]' ' test_expect_success 'cvs up [cvswork2]' '
( cd cvswork2 && cvs -f up ) >cvs.log 2>&1 && ( cd cvswork2 && cvs -f up ) >cvs.log 2>&1 &&
check_start_tree cvswork2 && check_start_tree cvswork2 &&
check_file cvswork2 textfile.c v2 && check_file cvswork2 textfile.c v2 &&
check_file cvswork2 adir/afile v2 && check_file cvswork2 adir/afile v2 &&
check_file cvswork2 adir/a2file v2 && check_file cvswork2 adir/a2file v2 &&
check_file cvswork2 adir/bdir/bfile v2 && check_file cvswork2 adir/bdir/bfile v2 &&
check_file cvswork2 adir/bdir/b4file v2 && check_file cvswork2 adir/bdir/b4file v2 &&
check_end_full_tree cvswork2 v2 check_end_full_tree cvswork2 v2
' '
test_expect_success 'cvs up -r b2 [back to cvswork]' ' test_expect_success 'cvs up -r b2 [back to cvswork]' '
( cd cvswork && cvs -f up -r b2 ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r b2 ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v2 && check_file cvswork textfile.c v2 &&
check_file cvswork adir/afile v2 && check_file cvswork adir/afile v2 &&
check_file cvswork adir/a2file v2 && check_file cvswork adir/a2file v2 &&
check_file cvswork adir/bdir/bfile v2 && check_file cvswork adir/bdir/bfile v2 &&
check_file cvswork adir/bdir/b4file v2 && check_file cvswork adir/bdir/b4file v2 &&
check_end_full_tree cvswork v2 check_end_full_tree cvswork v2
' '
test_expect_success 'cvs up -r b1' ' test_expect_success 'cvs up -r b1' '
( cd cvswork && cvs -f up -r b1 ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r b1 ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1.2 && check_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 && check_file cvswork t3 v1.2 &&
check_file cvswork adir/afile v1.2 && check_file cvswork adir/afile v1.2 &&
check_file cvswork adir/a3file v1.2 && check_file cvswork adir/a3file v1.2 &&
check_file cvswork adir/bdir/bfile v1.2 && check_file cvswork adir/bdir/bfile v1.2 &&
check_file cvswork adir/bdir/b3file v1.2 && check_file cvswork adir/bdir/b3file v1.2 &&
check_file cvswork cdir/cfile v1.2 && check_file cvswork cdir/cfile v1.2 &&
check_end_full_tree cvswork v1.2 check_end_full_tree cvswork v1.2
' '
test_expect_success 'cvs up -A' ' test_expect_success 'cvs up -A' '
( cd cvswork && cvs -f up -A ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -A ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_full_tree cvswork v1 check_end_full_tree cvswork v1
' '
test_expect_success 'cvs up (check CVS/Tag files)' ' test_expect_success 'cvs up (check CVS/Tag files)' '
( cd cvswork && cvs -f up ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_full_tree cvswork v1 check_end_full_tree cvswork v1
' '
# This is not really legal CVS, but it seems to work anyway: # This is not really legal CVS, but it seems to work anyway:
test_expect_success 'cvs up -r heads/b1' ' test_expect_success 'cvs up -r heads/b1' '
( cd cvswork && cvs -f up -r heads/b1 ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r heads/b1 ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1.2 && check_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 && check_file cvswork t3 v1.2 &&
check_file cvswork adir/afile v1.2 && check_file cvswork adir/afile v1.2 &&
check_file cvswork adir/a3file v1.2 && check_file cvswork adir/a3file v1.2 &&
check_file cvswork adir/bdir/bfile v1.2 && check_file cvswork adir/bdir/bfile v1.2 &&
check_file cvswork adir/bdir/b3file v1.2 && check_file cvswork adir/bdir/b3file v1.2 &&
check_file cvswork cdir/cfile v1.2 && check_file cvswork cdir/cfile v1.2 &&
check_end_full_tree cvswork v1.2 check_end_full_tree cvswork v1.2
' '
# But this should work even if CVS client checks -r more carefully: # But this should work even if CVS client checks -r more carefully:
test_expect_success 'cvs up -r heads_-s-b2 (cvsserver escape mechanism)' ' test_expect_success 'cvs up -r heads_-s-b2 (cvsserver escape mechanism)' '
( cd cvswork && cvs -f up -r heads_-s-b2 ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r heads_-s-b2 ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v2 && check_file cvswork textfile.c v2 &&
check_file cvswork adir/afile v2 && check_file cvswork adir/afile v2 &&
check_file cvswork adir/a2file v2 && check_file cvswork adir/a2file v2 &&
check_file cvswork adir/bdir/bfile v2 && check_file cvswork adir/bdir/bfile v2 &&
check_file cvswork adir/bdir/b4file v2 && check_file cvswork adir/bdir/b4file v2 &&
check_end_full_tree cvswork v2 check_end_full_tree cvswork v2
' '
v1hash=$(git rev-parse v1) v1hash=$(git rev-parse v1)
test_expect_success 'cvs up -r $(git rev-parse v1)' ' test_expect_success 'cvs up -r $(git rev-parse v1)' '
test -n "$v1hash" && test -n "$v1hash" &&
( cd cvswork && cvs -f up -r "$v1hash" ) >cvs.log 2>&1 && ( cd cvswork && cvs -f up -r "$v1hash" ) >cvs.log 2>&1 &&
check_start_tree cvswork && check_start_tree cvswork &&
check_file cvswork textfile.c v1 && check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 && check_file cvswork t2 v1 &&
check_file cvswork adir/afile v1 && check_file cvswork adir/afile v1 &&
check_file cvswork adir/a2file v1 && check_file cvswork adir/a2file v1 &&
check_file cvswork adir/bdir/bfile v1 && check_file cvswork adir/bdir/bfile v1 &&
check_file cvswork adir/bdir/b2file v1 && check_file cvswork adir/bdir/b2file v1 &&
check_end_full_tree cvswork v1 check_end_full_tree cvswork v1
' '
test_expect_success 'cvs diff -r v1 -u' ' test_expect_success 'cvs diff -r v1 -u' '
( cd cvswork && cvs -f diff -r v1 -u ) >cvsDiff.out 2>cvs.log && ( cd cvswork && cvs -f diff -r v1 -u ) >cvsDiff.out 2>cvs.log &&
test ! -s cvsDiff.out && test ! -s cvsDiff.out &&
test ! -s cvs.log test ! -s cvs.log
' '
test_expect_success 'cvs diff -N -r v2 -u' ' test_expect_success 'cvs diff -N -r v2 -u' '
( cd cvswork && ! cvs -f diff -N -r v2 -u ) >cvsDiff.out 2>cvs.log && ( cd cvswork && ! cvs -f diff -N -r v2 -u ) >cvsDiff.out 2>cvs.log &&
test ! -s cvs.log && test ! -s cvs.log &&
test -s cvsDiff.out && test -s cvsDiff.out &&
check_diff cvsDiff.out v2 v1 >check_diff.out 2>&1 check_diff cvsDiff.out v2 v1 >check_diff.out 2>&1
' '
test_expect_success 'cvs diff -N -r v2 -r v1.2' ' test_expect_success 'cvs diff -N -r v2 -r v1.2' '
( cd cvswork && ! cvs -f diff -N -r v2 -r v1.2 -u ) >cvsDiff.out 2>cvs.log && ( cd cvswork && ! cvs -f diff -N -r v2 -r v1.2 -u ) >cvsDiff.out 2>cvs.log &&
test ! -s cvs.log && test ! -s cvs.log &&
test -s cvsDiff.out && test -s cvsDiff.out &&
check_diff cvsDiff.out v2 v1.2 >check_diff.out 2>&1 check_diff cvsDiff.out v2 v1.2 >check_diff.out 2>&1
' '
test_expect_success 'apply early [cvswork3] diff to b3' ' test_expect_success 'apply early [cvswork3] diff to b3' '
git clone -q . gitwork3 && git clone -q . gitwork3 &&
( (
cd gitwork3 && cd gitwork3 &&
git checkout -b b3 v1 && git checkout -b b3 v1 &&
git apply -p0 --index <"$WORKDIR/cvswork3edit.diff" && git apply -p0 --index <"$WORKDIR/cvswork3edit.diff" &&
git commit -m "cvswork3 edits applied" git commit -m "cvswork3 edits applied"
) && ) &&
git fetch gitwork3 b3:b3 && git fetch gitwork3 b3:b3 &&
git tag v3 b3 git tag v3 b3
' '
test_expect_success 'check [cvswork3] diff' ' test_expect_success 'check [cvswork3] diff' '
( cd cvswork3 && ! cvs -f diff -N -u ) >"$WORKDIR/cvsDiff.out" 2>cvs.log && ( cd cvswork3 && ! cvs -f diff -N -u ) >"$WORKDIR/cvsDiff.out" 2>cvs.log &&
test ! -s cvs.log && test ! -s cvs.log &&
test -s cvsDiff.out && test -s cvsDiff.out &&
test $(grep Index: cvsDiff.out | wc -l) = 3 && test $(grep Index: cvsDiff.out | wc -l) = 3 &&
test_cmp cvsDiff.out cvswork3edit.diff && test_cmp cvsDiff.out cvswork3edit.diff &&
check_diff cvsDiff.out v1 v3 >check_diff.out 2>&1 check_diff cvsDiff.out v1 v3 >check_diff.out 2>&1
' '
test_expect_success 'merge early [cvswork3] b3 with b1' ' test_expect_success 'merge early [cvswork3] b3 with b1' '
( cd gitwork3 && git merge "message" HEAD b1 ) && ( cd gitwork3 && git merge "message" HEAD b1 ) &&
git fetch gitwork3 b3:b3 && git fetch gitwork3 b3:b3 &&
git tag v3merged b3 && git tag v3merged b3 &&
git push --tags gitcvs.git b3:b3 git push --tags gitcvs.git b3:b3
' '
# This test would fail if cvsserver properly created a ".#afile"* file # This test would fail if cvsserver properly created a ".#afile"* file
@ -506,45 +507,45 @@ test_expect_success 'merge early [cvswork3] b3 with b1' '
# TODO: Validate that the .# file was saved properly, and then # TODO: Validate that the .# file was saved properly, and then
# delete/ignore it when checking the tree. # delete/ignore it when checking the tree.
test_expect_success 'cvs up dirty [cvswork3]' ' test_expect_success 'cvs up dirty [cvswork3]' '
( (
cd cvswork3 && cd cvswork3 &&
cvs -f up && cvs -f up &&
! cvs -f diff -N -u >"$WORKDIR/cvsDiff.out" ! cvs -f diff -N -u >"$WORKDIR/cvsDiff.out"
) >cvs.log 2>&1 && ) >cvs.log 2>&1 &&
test -s cvsDiff.out && test -s cvsDiff.out &&
test $(grep Index: cvsDiff.out | wc -l) = 2 && test $(grep Index: cvsDiff.out | wc -l) = 2 &&
check_start_tree cvswork3 && check_start_tree cvswork3 &&
check_file cvswork3 textfile.c v3merged && check_file cvswork3 textfile.c v3merged &&
check_file cvswork3 t3 v3merged && check_file cvswork3 t3 v3merged &&
check_file cvswork3 adir/afile v3merged && check_file cvswork3 adir/afile v3merged &&
check_file cvswork3 adir/a3file v3merged && check_file cvswork3 adir/a3file v3merged &&
check_file cvswork3 adir/afile5 v3merged && check_file cvswork3 adir/afile5 v3merged &&
check_file cvswork3 adir/bdir/bfile v3merged && check_file cvswork3 adir/bdir/bfile v3merged &&
check_file cvswork3 adir/bdir/b3file v3merged && check_file cvswork3 adir/bdir/b3file v3merged &&
check_file cvswork3 cdir/cfile v3merged && check_file cvswork3 cdir/cfile v3merged &&
check_end_full_tree cvswork3 v3merged check_end_full_tree cvswork3 v3merged
' '
# TODO: test cvs status # TODO: test cvs status
test_expect_success 'cvs commit [cvswork3]' ' test_expect_success 'cvs commit [cvswork3]' '
( (
cd cvswork3 && cd cvswork3 &&
cvs -f commit -m "dirty sandbox after auto-merge" cvs -f commit -m "dirty sandbox after auto-merge"
) >cvs.log 2>&1 && ) >cvs.log 2>&1 &&
check_start_tree cvswork3 && check_start_tree cvswork3 &&
check_file cvswork3 textfile.c v3merged && check_file cvswork3 textfile.c v3merged &&
check_file cvswork3 t3 v3merged && check_file cvswork3 t3 v3merged &&
check_file cvswork3 adir/afile v3merged && check_file cvswork3 adir/afile v3merged &&
check_file cvswork3 adir/a3file v3merged && check_file cvswork3 adir/a3file v3merged &&
check_file cvswork3 adir/afile5 v3merged && check_file cvswork3 adir/afile5 v3merged &&
check_file cvswork3 adir/bdir/bfile v3merged && check_file cvswork3 adir/bdir/bfile v3merged &&
check_file cvswork3 adir/bdir/b3file v3merged && check_file cvswork3 adir/bdir/b3file v3merged &&
check_file cvswork3 cdir/cfile v3merged && check_file cvswork3 cdir/cfile v3merged &&
check_end_full_tree cvswork3 v3merged && check_end_full_tree cvswork3 v3merged &&
git fetch gitcvs.git b3:b4 && git fetch gitcvs.git b3:b4 &&
git tag v4.1 b4 && git tag v4.1 b4 &&
git diff --exit-code v4.1 v3merged >check_diff_apply.out 2>&1 git diff --exit-code v4.1 v3merged >check_diff_apply.out 2>&1
' '
test_done test_done