Browse Source

tests: document format of conflicts from checkout -m

We are about to change the format of the conflict hunks that ‘checkout
--merge’ writes.  Add tests checking the current behavior first.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jonathan Nieder 15 years ago committed by Junio C Hamano
parent
commit
47349a8cc0
  1. 65
      t/t7201-co.sh

65
t/t7201-co.sh

@ -11,10 +11,12 @@ Test switching across them.
! [master] Initial A one, A two ! [master] Initial A one, A two
* [renamer] Renamer R one->uno, M two * [renamer] Renamer R one->uno, M two
! [side] Side M one, D two, A three ! [side] Side M one, D two, A three
--- ! [simple] Simple D one, M two
+ [side] Side M one, D two, A three ----
* [renamer] Renamer R one->uno, M two + [simple] Simple D one, M two
+*+ [master] Initial A one, A two + [side] Side M one, D two, A three
* [renamer] Renamer R one->uno, M two
+*++ [master] Initial A one, A two


' '


@ -52,6 +54,11 @@ test_expect_success setup '
git update-index --add --remove one two three && git update-index --add --remove one two three &&
git commit -m "Side M one, D two, A three" && git commit -m "Side M one, D two, A three" &&


git checkout -b simple master &&
rm -f one &&
fill a c e > two &&
git commit -a -m "Simple D one, M two" &&

git checkout master git checkout master
' '


@ -166,6 +173,56 @@ test_expect_success 'checkout -m with merge conflict' '
! test -s current ! test -s current
' '


test_expect_success 'format of merge conflict from checkout -m' '

git checkout -f master && git clean -f &&

fill b d > two &&
git checkout -m simple &&

git ls-files >current &&
fill same two two two >expect &&
test_cmp current expect &&

cat <<-EOF >expect &&
<<<<<<< simple
a
c
e
=======
b
d
>>>>>>> local
EOF
test_cmp two expect
'

test_expect_success 'checkout --merge --conflict=diff3 <branch>' '

git checkout -f master && git reset --hard && git clean -f &&

fill b d > two &&
git checkout --merge --conflict=diff3 simple &&

cat <<-EOF >expect &&
<<<<<<< simple
a
c
e
|||||||
a
b
c
d
e
=======
b
d
>>>>>>> local
EOF
test_cmp two expect
'

test_expect_success 'checkout to detach HEAD (with advice declined)' ' test_expect_success 'checkout to detach HEAD (with advice declined)' '


git config advice.detachedHead false && git config advice.detachedHead false &&

Loading…
Cancel
Save