Browse Source

git-am: Don't accept an mbox on stdin of we already have a .dotest directory

It makes no sense to accept an mbox via stdin when we
won't accept it on the commandline.

The patch helps the following scenario:

# git init-db
"add file1 with content"
# git checkout -b apply
"edit file1 && commit"

# git checkout -b conflict master
"edit file1 && commit"

# git checkout -b ok master
"add file2"

# git checkout apply
# git format-patch -k -3 master..conflict | git am -k -3
=> git-am fails with a conflict message
# git reset --hard

# git format-patch -k -3 master..ok | git am -k -3
=> git am fails with the same conflict message as above,
=> since it's trying to apply the old .dotest directory

With the patch it complains about an old .dotest
directory instead.

Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Lukas Sandström 19 years ago committed by Junio C Hamano
parent
commit
cbd64afbb3
  1. 6
      git-am.sh

6
git-am.sh

@ -156,8 +156,10 @@ fi @@ -156,8 +156,10 @@ fi

if test -d "$dotest"
then
test ",$#," = ",0," ||
die "previous dotest directory $dotest still exists but mbox given."
if test ",$#," != ",0," || ! tty -s
then
die "previous dotest directory $dotest still exists but mbox given."
fi
resume=yes
else
# Make sure we are not given --skip nor --resolved

Loading…
Cancel
Save