summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-17 15:59:40 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-17 15:59:40 -0800
commita0db3e5878fd5fa3f54bcf7042ad3d0cb30e07f2 (patch)
tree90ef8cc9887affd5aee3c1514fb39db845642b31 /t
parent42aac96763a72b5bac73d34640d3a0c6233027a6 (diff)
parent6d6f9acc5db0dfae94ef22c9ecbcf7df00f84399 (diff)
downloadgit-a0db3e5878fd5fa3f54bcf7042ad3d0cb30e07f2.tar.gz
Merge branch 'jc/maint-1.6.1-checkout-m-custom-merge'
* jc/maint-1.6.1-checkout-m-custom-merge: checkout -m path: fix recreating conflicts Conflicts: t/t7201-co.sh
Diffstat (limited to 't')
-rwxr-xr-xt/t7201-co.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index ebfd34df36..6442f710be 100755
--- a/t/t7201-co.sh
+++ b/t/t7201-co.sh
@@ -542,4 +542,61 @@ test_expect_success 'switch out of non-branch' '
! grep "^Previous HEAD" error.log
'
+(
+ echo "#!$SHELL_PATH"
+ cat <<\EOF
+O=$1 A=$2 B=$3
+cat "$A" >.tmp
+exec >"$A"
+echo '<<<<<<< filfre-theirs'
+cat "$B"
+echo '||||||| filfre-common'
+cat "$O"
+echo '======='
+cat ".tmp"
+echo '>>>>>>> filfre-ours'
+rm -f .tmp
+exit 1
+EOF
+) >filfre.sh
+chmod +x filfre.sh
+
+test_expect_success 'custom merge driver with checkout -m' '
+ git reset --hard &&
+
+ git config merge.filfre.driver "./filfre.sh %O %A %B" &&
+ git config merge.filfre.name "Feel-free merge driver" &&
+ git config merge.filfre.recursive binary &&
+ echo "arm merge=filfre" >.gitattributes &&
+
+ git checkout -b left &&
+ echo neutral >arm &&
+ git add arm .gitattributes &&
+ test_tick &&
+ git commit -m neutral &&
+ git branch right &&
+
+ echo left >arm &&
+ test_tick &&
+ git commit -a -m left &&
+ git checkout right &&
+
+ echo right >arm &&
+ test_tick &&
+ git commit -a -m right &&
+
+ test_must_fail git merge left &&
+ (
+ for t in filfre-common left right
+ do
+ grep $t arm || exit 1
+ done
+ exit 0
+ ) &&
+
+ mv arm expect &&
+ git checkout -m arm &&
+ test_cmp expect arm
+'
+
test_done