author | Junio C Hamano <gitster@pobox.com> | |
Wed, 16 Apr 2008 19:50:48 +0000 (12:50 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 16 Apr 2008 19:50:48 +0000 (12:50 -0700) | ||
commit | 5e835cac8622373724235d299f1331ac4cf81ccf | |
tree | 9fc04991e376b8d4152ba39b8f268cc6d8c1188e | tree | snapshot |
parent | 464509f790f409d95e0820364ef7296d82942d8c | commit | diff |
rebase: do not munge commit log message
Traditionally git-rebase was implemented in terms of "format-patch" piped
to "am -3", to strike balance between speed (because it avoids a rather
expensive read-tree/merge-recursive machinery most of the time) and
flexibility (the magic "-3" allows it to fall back to 3-way merge as
necessary). However, this combination has one flaw when dealing with a
nonstandard commit log message format that has more than one lines in the
first paragraph.
This teaches "git am --rebasing" to take advantage of the fact that the
mbox message "git rebase" prepares for it records the original commit
object name, to get the log message from the original commit object
instead.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Traditionally git-rebase was implemented in terms of "format-patch" piped
to "am -3", to strike balance between speed (because it avoids a rather
expensive read-tree/merge-recursive machinery most of the time) and
flexibility (the magic "-3" allows it to fall back to 3-way merge as
necessary). However, this combination has one flaw when dealing with a
nonstandard commit log message format that has more than one lines in the
first paragraph.
This teaches "git am --rebasing" to take advantage of the fact that the
mbox message "git rebase" prepares for it records the original commit
object name, to get the log message from the original commit object
instead.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-am.sh | diff | blob | history | |
t/t3408-rebase-multi-line.sh | [new file with mode: 0755] | blob |