Browse Source

git-am: make it easier after fixing up an unapplicable patch.

Instead of having the user to edit the mail message, let the hand merge
result stored in .dotest/patch and continue, which is easier to manage.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 20 years ago
parent
commit
271440e3b6
  1. 8
      Documentation/git-am.txt
  2. 6
      git-am.sh

8
Documentation/git-am.txt

@ -58,10 +58,10 @@ recover from this in one of two ways: @@ -58,10 +58,10 @@ recover from this in one of two ways:

. hand resolve the conflict in the working directory, run 'git
diff HEAD' to extract the merge result into a patch form and
replacing the patch part of the message in .dotest directory.
After doing this, run `git-reset --hard HEAD` to bring the
working tree to the state before half-applying the patch, then
re-run the command without any options.
replacing the patch in .dotest/patch file. After doing this,
run `git-reset --hard HEAD` to bring the working tree to the
state before half-applying the patch, then re-run the command
without any options.

The command refuses to process new mailboxes while `.dotest`
directory exists, so if you decide to start over from scratch,

6
git-am.sh

@ -153,6 +153,7 @@ if test -d "$dotest" @@ -153,6 +153,7 @@ if test -d "$dotest"
then
test ",$#," = ",0," ||
die "previous dotest directory $dotest still exists but mbox given."
resume=yes
else
# Make sure we are not given --skip
test ",$skip," = ,, ||
@ -215,10 +216,15 @@ do @@ -215,10 +216,15 @@ do
go_next
continue
}
case "$resume" in
'')
git-mailinfo $keep $utf8 "$dotest/msg" "$dotest/patch" \
<"$dotest/$msgnum" >"$dotest/info" ||
stop_here $this
git-stripspace < "$dotest/msg" > "$dotest/msg-clean"
;;
esac
resume=

GIT_AUTHOR_NAME="$(sed -n '/^Author/ s/Author: //p' "$dotest/info")"
GIT_AUTHOR_EMAIL="$(sed -n '/^Email/ s/Email: //p' "$dotest/info")"

Loading…
Cancel
Save