summaryrefslogtreecommitdiff
path: root/t/t6031-merge-recursive.sh
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2010-12-15 00:05:33 -0600
committerLibravatar Jonathan Nieder <jrnieder@gmail.com>2010-12-15 00:05:33 -0600
commit52c9d8e27592347a03962f47999bd32caf578d0f (patch)
tree5d05046223ec569141b7f6410daa55f26cc4c6cd /t/t6031-merge-recursive.sh
parentbash: simple reimplementation of _get_comp_words_by_ref (diff)
parentcompletion: fix zsh check under bash with 'set -u' (diff)
downloadtgif-52c9d8e27592347a03962f47999bd32caf578d0f.tar.xz
Merge branch 'master' (early part) into pd/bash-4-completion
* 'master' (early part): (529 commits) completion: fix zsh check under bash with 'set -u' Fix copy-pasted comments related to tree diff handling. Git 1.7.3.2 {cvs,svn}import: use the new 'git read-tree --empty' t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To' Clarify and extend the "git diff" format documentation git-show-ref.txt: clarify the pattern matching documentation: git-config minor cleanups Update test script annotate-tests.sh to handle missing/extra authors Better advice on using topic branches for kernel development Documentation: update implicit "--no-index" behavior in "git diff" Documentation: expand 'git diff' SEE ALSO section Documentation: diff can compare blobs Documentation: gitrevisions is in section 7 fast-import: Allow filemodify to set the root shell portability: no "export VAR=VAL" CodingGuidelines: reword parameter expansion section Documentation: update-index: -z applies also to --index-info gitweb: Improve behavior for actionless path_info gitweb URLs gitweb: Fix bug in evaluate_path_info ... Conflicts: GIT-VERSION-GEN RelNotes contrib/completion/git-completion.bash
Diffstat (limited to 't/t6031-merge-recursive.sh')
-rwxr-xr-xt/t6031-merge-recursive.sh37
1 files changed, 32 insertions, 5 deletions
diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh
index 8a3304fb0b..1cd649e245 100755
--- a/t/t6031-merge-recursive.sh
+++ b/t/t6031-merge-recursive.sh
@@ -2,11 +2,7 @@
test_description='merge-recursive: handle file mode'
. ./test-lib.sh
-
-if ! test "$(git config --bool core.filemode)" = false
-then
- test_set_prereq FILEMODE
-fi
+. "$TEST_DIRECTORY"/lib-prereq-FILEMODE.sh
test_expect_success 'mode change in one branch: keep changed version' '
: >file1 &&
@@ -57,4 +53,35 @@ test_expect_success FILEMODE 'verify executable bit on file' '
test -x file2
'
+test_expect_success 'merging with triple rename across D/F conflict' '
+ git reset --hard HEAD &&
+ git checkout -b main &&
+ git rm -rf . &&
+
+ echo "just a file" >sub1 &&
+ mkdir -p sub2 &&
+ echo content1 >sub2/file1 &&
+ echo content2 >sub2/file2 &&
+ echo content3 >sub2/file3 &&
+ mkdir simple &&
+ echo base >simple/bar &&
+ git add -A &&
+ test_tick &&
+ git commit -m base &&
+
+ git checkout -b other &&
+ echo more >>simple/bar &&
+ test_tick &&
+ git commit -a -m changesimplefile &&
+
+ git checkout main &&
+ git rm sub1 &&
+ git mv sub2 sub1 &&
+ test_tick &&
+ git commit -m changefiletodir &&
+
+ test_tick &&
+ git merge other
+'
+
test_done