Skip to content

Commit

Permalink
git-am: make it easier after fixing up an unapplicable patch.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Oct 26, 2005
1 parent 129adf4 commit 271440e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
8 changes: 4 additions & 4 deletions Documentation/git-am.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
14 changes: 10 additions & 4 deletions git-am.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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," = ,, ||
Expand Down Expand Up @@ -215,10 +216,15 @@ do
go_next
continue
}
git-mailinfo $keep $utf8 "$dotest/msg" "$dotest/patch" \
<"$dotest/$msgnum" >"$dotest/info" ||
stop_here $this
git-stripspace < "$dotest/msg" > "$dotest/msg-clean"
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")"
Expand Down

0 comments on commit 271440e

Please sign in to comment.