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
@ -327,11 +327,20 @@ do
|
|||||||
echo "Patch is empty. Was it split wrong?"
|
echo "Patch is empty. Was it split wrong?"
|
||||||
stop_here $this
|
stop_here $this
|
||||||
}
|
}
|
||||||
|
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")"
|
SUBJECT="$(sed -n '/^Subject/ s/Subject: //p' "$dotest/info")"
|
||||||
case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac
|
case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac
|
||||||
|
|
||||||
(printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
|
(printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
|
||||||
git stripspace > "$dotest/msg-clean"
|
git stripspace > "$dotest/msg-clean"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
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