summaryrefslogtreecommitdiff
path: root/git-am.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-01 03:26:21 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-02-01 04:30:55 (GMT)
commit4ae6d4699f4d1df7cd3ffac9dd361c86d62eca42 (patch)
treeb76ce5e3ac64ea782bb5f5bb0b50ce6771f8d79b /git-am.sh
parent8c7a786b6c8eae8eac91083cdc9a6e337bc133b0 (diff)
downloadgit-4ae6d4699f4d1df7cd3ffac9dd361c86d62eca42.zip
git-4ae6d4699f4d1df7cd3ffac9dd361c86d62eca42.tar.gz
git-4ae6d4699f4d1df7cd3ffac9dd361c86d62eca42.tar.bz2
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>
Diffstat (limited to 'git-am.sh')
-rwxr-xr-xgit-am.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-am.sh b/git-am.sh
index c682d34..0e0a096 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -664,7 +664,7 @@ do
sed -e '1,/^$/d' >"$dotest/msg-clean"
echo "$commit" >"$dotest/original-commit"
get_author_ident_from_commit "$commit" >"$dotest/author-script"
- git diff-tree --root --binary "$commit" >"$dotest/patch"
+ git diff-tree --root --binary --full-index "$commit" >"$dotest/patch"
else
git mailinfo $keep $no_inbody_headers $scissors $utf8 "$dotest/msg" "$dotest/patch" \
<"$dotest/$msgnum" >"$dotest/info" ||