summaryrefslogtreecommitdiff
path: root/git-am.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-04-19 23:01:51 -0700
committerJunio C Hamano <gitster@pobox.com>2008-04-19 23:01:51 -0700
commit41a3e3aa9bdaede9ab7afed206428c1b071060d2 (patch)
tree5c446d5c13797b117a34c309019e0131880fb1b1 /git-am.sh
parent5634cf24766f8700804ca55f5e8567c88538a5b0 (diff)
parent5e835cac8622373724235d299f1331ac4cf81ccf (diff)
downloadgit-41a3e3aa9bdaede9ab7afed206428c1b071060d2.tar.gz
Merge branch 'jc/maint-rebase-am' into maint
* jc/maint-rebase-am: rebase: do not munge commit log message Conflicts: git-am.sh
Diffstat (limited to 'git-am.sh')
-rwxr-xr-xgit-am.sh19
1 files changed, 14 insertions, 5 deletions
diff --git a/git-am.sh b/git-am.sh
index a391254a70..75886a8f2f 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -327,11 +327,20 @@ do
echo "Patch is empty. Was it split wrong?"
stop_here $this
}
- SUBJECT="$(sed -n '/^Subject/ s/Subject: //p' "$dotest/info")"
- case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac
-
- (printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
- git stripspace > "$dotest/msg-clean"
+ if test -f "$dotest/rebasing" &&
+ commit=$(sed -e 's/^From \([0-9a-f]*\) .*/\1/' \
+ -e q "$dotest/$msgnum") &&
+ test "$(git cat-file -t "$commit")" = commit
+ then
+ git cat-file commit "$commit" |
+ sed -e '1,/^$/d' >"$dotest/msg-clean"
+ else
+ SUBJECT="$(sed -n '/^Subject/ s/Subject: //p' "$dotest/info")"
+ case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac
+
+ (printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
+ git stripspace > "$dotest/msg-clean"
+ fi
;;
esac