git-am: record full index line in the patch used while rebasing
authorJunio C Hamano <gitster@pobox.com>
Fri, 1 Feb 2013 03:26:21 +0000 (19:26 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 Feb 2013 04:30:55 +0000 (20:30 -0800)
commit4ae6d4699f4d1df7cd3ffac9dd361c86d62eca42
treeb76ce5e3ac64ea782bb5f5bb0b50ce6771f8d79b
parent8c7a786b6c8eae8eac91083cdc9a6e337bc133b0
git-am: record full index line in the patch used while rebasing

Earlier, a230949 (am --rebasing: get patch body from commit, not
from mailbox, 2012-06-26) learned to regenerate patch body from the
commit object while rebasing, instead of reading from the rebase-am
front-end.  While doing so, it used "git diff-tree" but without
giving it the "--full-index" option.

This does not matter for in-repository objects; during rebasing, any
abbreviated object name should uniquely identify them.

But we may be rebasing a commit that contains a change to a gitlink,
in which case we usually should not have the object (it names a
commit in the submodule).  A full object name is necessary to later
reconstruct a fake ancestor index for them.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-am.sh
t/t7402-submodule-rebase.sh