vNew="$3"
rm -rf diffSandbox
git clone -q -n . diffSandbox &&
- ( cd diffSandbox &&
+ (
+ cd diffSandbox &&
git checkout "$vOld" &&
git apply -p0 --index <"../$diffFile" &&
- git diff --exit-code "$vNew" ) >check_diff_apply.out 2>&1
+ git diff --exit-code "$vNew"
+ ) >check_diff_apply.out 2>&1
}
#########
'
test_expect_success 'edit cvswork3 and save diff' '
- ( cd cvswork3 &&
+ (
+ cd cvswork3 &&
sed -e "s/line1/line1 - data/" adir/afile >adir/afileNEW &&
mv -f adir/afileNEW adir/afile &&
echo "afile5" >adir/afile5 &&
'
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 &&
# Make sure "CVS/Tag" files didn't get messed up:
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_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 &&
# update to another version:
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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 commit -m "edit textfile.c" textfile.c
) >cvsEdit1.log 2>&1
'
test_expect_success 'root dir rm file [cvswork2]' '
- ( cd cvswork2 &&
+ (
+ cd cvswork2 &&
cvs -f rm -f t2 &&
cvs -f diff -u >../cvsEdit2-empty.diff &&
! cvs -f diff -N -u >"$WORKDIR/cvsEdit2-N.diff" &&
) >cvsEdit2.log 2>&1
'
-test_expect_success 'subdir edit/add/rm files [cvswork2' '
- ( cd cvswork2 &&
+test_expect_success 'subdir edit/add/rm files [cvswork2]' '
+ (
+ cd cvswork2 &&
sed -e "s/line 1/line 1 (v2)/" adir/bdir/bfile >adir/bdir/bfileNEW &&
mv -f adir/bdir/bfileNEW adir/bdir/bfile &&
rm adir/bdir/b2file &&
cvs -f add bdir/b4file &&
! cvs -f diff -N -u >"$WORKDIR/cvsEdit3.diff" &&
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 -r v1 >"$WORKDIR/cvsEdit3-v1.2-v1.diff"
) &&
test $(grep Index: cvsEdit3.diff | wc -l) = 3 &&
rm -rf diffSandbox &&
git clone -q -n . diffSandbox &&
- ( cd diffSandbox &&
+ (
+ cd diffSandbox &&
git checkout v1 &&
git apply -p0 --index <"$WORKDIR/cvsEdit1.diff" &&
git apply -p0 --index <"$WORKDIR/cvsEdit2-N.diff" &&
git apply -p0 --directory=adir --index <"$WORKDIR/cvsEdit3.diff" &&
- git diff --exit-code v2 ) >"check_diff_apply.out" 2>&1
+ git diff --exit-code v2
+ ) >"check_diff_apply.out" 2>&1
'
test_expect_success 'validate v1.2 diff saved during last cvswork2 edit' '
'
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_file cvswork2 textfile.c v2 &&
check_file cvswork2 adir/afile v2 &&
'
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_file cvswork textfile.c v2 &&
check_file cvswork adir/afile v2 &&
'
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_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 &&
'
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
# This is not really legal CVS, but it seems to work anyway:
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_file cvswork textfile.c v1.2 &&
check_file cvswork t3 v1.2 &&
# But this should work even if CVS client checks -r more carefully:
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_file cvswork textfile.c v2 &&
check_file cvswork adir/afile v2 &&
v1hash=$(git rev-parse v1)
test_expect_success 'cvs up -r $(git rev-parse v1)' '
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_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
'
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 cvs.log
'
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 cvsDiff.out &&
check_diff cvsDiff.out v2 v1 >check_diff.out 2>&1
'
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 cvsDiff.out &&
check_diff cvsDiff.out v2 v1.2 >check_diff.out 2>&1
test_expect_success 'apply early [cvswork3] diff to b3' '
git clone -q . gitwork3 &&
- ( cd gitwork3 &&
+ (
+ cd gitwork3 &&
git checkout -b b3 v1 &&
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 tag v3 b3
'
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 cvsDiff.out &&
test $(grep Index: cvsDiff.out | wc -l) = 3 &&
'
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 tag v3merged b3 &&
git push --tags gitcvs.git b3:b3
# TODO: Validate that the .# file was saved properly, and then
# delete/ignore it when checking the tree.
test_expect_success 'cvs up dirty [cvswork3]' '
- ( cd cvswork3 &&
+ (
+ cd cvswork3 &&
cvs -f up &&
- ! cvs -f diff -N -u >"$WORKDIR/cvsDiff.out" ) >cvs.log 2>&1 &&
+ ! cvs -f diff -N -u >"$WORKDIR/cvsDiff.out"
+ ) >cvs.log 2>&1 &&
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_file cvswork3 textfile.c v3merged &&
check_file cvswork3 t3 v3merged &&
# TODO: test cvs status
-test_expect_success 'cvs commit [cvswork3' '
- ( cd cvswork3 &&
+test_expect_success 'cvs commit [cvswork3]' '
+ (
+ cd cvswork3 &&
cvs -f commit -m "dirty sandbox after auto-merge"
) >cvs.log 2>&1 &&
check_start_tree cvswork3 &&