git-am: Keep index in case of abort with dirty index
git am --abort resets the index unconditionally. But in case a previous git am exited due to a dirty index it is preferable to keep that index. Make it so. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2591838bee
commit
c767184d8f
13
git-am.sh
13
git-am.sh
@ -230,11 +230,14 @@ then
|
|||||||
;;
|
;;
|
||||||
,t)
|
,t)
|
||||||
git rerere clear
|
git rerere clear
|
||||||
git read-tree --reset -u HEAD ORIG_HEAD
|
test -f "$dotest/dirtyindex" || {
|
||||||
git reset ORIG_HEAD
|
git read-tree --reset -u HEAD ORIG_HEAD
|
||||||
|
git reset ORIG_HEAD
|
||||||
|
}
|
||||||
rm -fr "$dotest"
|
rm -fr "$dotest"
|
||||||
exit ;;
|
exit ;;
|
||||||
esac
|
esac
|
||||||
|
rm -f "$dotest/dirtyindex"
|
||||||
else
|
else
|
||||||
# Make sure we are not given --skip, --resolved, nor --abort
|
# Make sure we are not given --skip, --resolved, nor --abort
|
||||||
test "$skip$resolved$abort" = "" ||
|
test "$skip$resolved$abort" = "" ||
|
||||||
@ -287,7 +290,11 @@ fi
|
|||||||
case "$resolved" in
|
case "$resolved" in
|
||||||
'')
|
'')
|
||||||
files=$(git diff-index --cached --name-only HEAD --) || exit
|
files=$(git diff-index --cached --name-only HEAD --) || exit
|
||||||
test "$files" && die "Dirty index: cannot apply patches (dirty: $files)"
|
if test "$files"
|
||||||
|
then
|
||||||
|
: >"$dotest/dirtyindex"
|
||||||
|
die "Dirty index: cannot apply patches (dirty: $files)"
|
||||||
|
fi
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$(cat "$dotest/utf8")" = t
|
if test "$(cat "$dotest/utf8")" = t
|
||||||
|
Loading…
Reference in New Issue
Block a user