X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Ft4127-apply-same-fn.sh;h=3a8202ea9311b1c90158ad0d115dda985060fdeb;hb=0eb5ebc1d862737ea2b313d0d77d120b3d114099;hp=2a6ed77c658423c01c1713eab194ccb86b25c476;hpb=7ebd52aa0e58df6bac5f0f87a591da17eb3324a6;p=git.git diff --git a/t/t4127-apply-same-fn.sh b/t/t4127-apply-same-fn.sh index 2a6ed77c6..3a8202ea9 100755 --- a/t/t4127-apply-same-fn.sh +++ b/t/t4127-apply-same-fn.sh @@ -4,6 +4,11 @@ test_description='apply same filename' . ./test-lib.sh +modify () { + sed -e "$1" < "$2" > "$2".x && + mv "$2".x "$2" +} + test_expect_success setup ' for i in a b c d e f g h i j k l m do @@ -14,37 +19,37 @@ test_expect_success setup ' git commit -m initial ' test_expect_success 'apply same filename with independent changes' ' - sed -i -e "s/^d/z/" same_fn && + modify "s/^d/z/" same_fn && git diff > patch0 && git add same_fn && - sed -i -e "s/^i/y/" same_fn && + modify "s/^i/y/" same_fn && git diff >> patch0 && cp same_fn same_fn2 && git reset --hard && - git-apply patch0 && + git apply patch0 && diff same_fn same_fn2 ' test_expect_success 'apply same filename with overlapping changes' ' git reset --hard - sed -i -e "s/^d/z/" same_fn && + modify "s/^d/z/" same_fn && git diff > patch0 && git add same_fn && - sed -i -e "s/^e/y/" same_fn && + modify "s/^e/y/" same_fn && git diff >> patch0 && cp same_fn same_fn2 && git reset --hard && - git-apply patch0 && + git apply patch0 && diff same_fn same_fn2 ' test_expect_success 'apply same new filename after rename' ' git reset --hard git mv same_fn new_fn - sed -i -e "s/^d/z/" new_fn && + modify "s/^d/z/" new_fn && git add new_fn && git diff -M --cached > patch1 && - sed -i -e "s/^e/y/" new_fn && + modify "s/^e/y/" new_fn && git diff >> patch1 && cp new_fn new_fn2 && git reset --hard && @@ -55,11 +60,11 @@ test_expect_success 'apply same new filename after rename' ' test_expect_success 'apply same old filename after rename -- should fail.' ' git reset --hard git mv same_fn new_fn - sed -i -e "s/^d/z/" new_fn && + modify "s/^d/z/" new_fn && git add new_fn && git diff -M --cached > patch1 && git mv new_fn same_fn - sed -i -e "s/^e/y/" same_fn && + modify "s/^e/y/" same_fn && git diff >> patch1 && git reset --hard && test_must_fail git apply patch1 @@ -68,15 +73,15 @@ test_expect_success 'apply same old filename after rename -- should fail.' ' test_expect_success 'apply A->B (rename), C->A (rename), A->A -- should pass.' ' git reset --hard git mv same_fn new_fn - sed -i -e "s/^d/z/" new_fn && + modify "s/^d/z/" new_fn && git add new_fn && git diff -M --cached > patch1 && git commit -m "a rename" && git mv other_fn same_fn - sed -i -e "s/^e/y/" same_fn && + modify "s/^e/y/" same_fn && git add same_fn && git diff -M --cached >> patch1 && - sed -i -e "s/^g/x/" same_fn && + modify "s/^g/x/" same_fn && git diff >> patch1 && git reset --hard HEAD^ && git apply patch1