diff options
| author | Jeff King <peff@peff.net> | 2015-10-26 17:37:18 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2015-10-26 14:48:56 -0700 |
| commit | f78d1fe208d3db36afecbd8b8a84d6c35391bd0b (patch) | |
| tree | 77f69c37562a872c233a4349f0fee1729614fcff /t/t6031-merge-recursive.sh | |
| parent | 6f50833e98d9d88e331a0d5022130dd3d49cf876 (diff) | |
| download | git-f78d1fe208d3db36afecbd8b8a84d6c35391bd0b.tar.gz | |
t6031: generalize for recursive and resolve strategies
This script tests the filemode handling of merge-recursive,
but we do not test the same thing for merge-resolve. Let's
generalize the script a little:
1. Break out the setup steps for each test into a separate
snippet.
2. For each test, run it twice; once with "-s recursive"
and once with "-s resolve". We can avoid repeating
ourselves by adding a function.
3. Since we have a nice abstracted function, we can make
our tests more thorough by testing both directions
(change on "ours" versus "theirs").
This improves our test coverage, and will make this the
place to add more tests related to merging mode changes.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6031-merge-recursive.sh')
| -rwxr-xr-x | t/t6031-merge-recursive.sh | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh deleted file mode 100755 index 4053bd9fb7..0000000000 --- a/t/t6031-merge-recursive.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -test_description='merge-recursive: handle file mode' -. ./test-lib.sh - -test_expect_success 'mode change in one branch: keep changed version' ' - : >file1 && - git add file1 && - git commit -m initial && - git checkout -b a1 master && - : >dummy && - git add dummy && - git commit -m a && - git checkout -b b1 master && - test_chmod +x file1 && - git add file1 && - git commit -m b1 && - git checkout a1 && - git merge-recursive master -- a1 b1 && - git ls-files -s file1 | grep ^100755 -' - -test_expect_success FILEMODE 'verify executable bit on file' ' - test -x file1 -' - -test_expect_success 'mode change in both branches: expect conflict' ' - git reset --hard HEAD && - git checkout -b a2 master && - : >file2 && - H=$(git hash-object file2) && - test_chmod +x file2 && - git commit -m a2 && - git checkout -b b2 master && - : >file2 && - git add file2 && - git commit -m b2 && - git checkout a2 && - ( - git merge-recursive master -- a2 b2 - test $? = 1 - ) && - git ls-files -u >actual && - ( - echo "100755 $H 2 file2" - echo "100644 $H 3 file2" - ) >expect && - test_cmp actual expect && - git ls-files -s file2 | grep ^100755 -' - -test_expect_success FILEMODE 'verify executable bit on file' ' - test -x file2 -' - -test_done |
