Merge branch 'jc/maint-rebase-am'

* jc/maint-rebase-am:
  rebase: do not munge commit log message

Conflicts:

	git-am.sh
This commit is contained in:
Junio C Hamano 2008-04-19 00:25:15 -07:00
commit 8876046037
2 changed files with 54 additions and 4 deletions

View File

@ -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
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"
(printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
git stripspace > "$dotest/msg-clean"
fi
;;
esac

41
t/t3408-rebase-multi-line.sh Executable file
View File

@ -0,0 +1,41 @@
#!/bin/sh
test_description='rebasing a commit with multi-line first paragraph.'
. ./test-lib.sh
test_expect_success setup '
>file &&
git add file &&
test_tick &&
git commit -m initial &&
echo hello >file &&
test_tick &&
git commit -a -m "A sample commit log message that has a long
summary that spills over multiple lines.
But otherwise with a sane description."
git branch side &&
git reset --hard HEAD^ &&
>elif &&
git add elif &&
test_tick &&
git commit -m second
'
test_expect_success rebase '
git checkout side &&
git rebase master &&
git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
git cat-file commit side@{1} | sed -e "1,/^$/d" >expect &&
test_cmp expect actual
'
test_done