mirror of
https://github.com/git/git.git
synced 2024-11-30 21:44:02 +08:00
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:
commit
8876046037
17
git-am.sh
17
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
|
||||
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
41
t/t3408-rebase-multi-line.sh
Executable 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
|
Loading…
Reference in New Issue
Block a user