"git rebase" used to use "format-patch --full-index" to generate a series of patches and let "git am --rebase" reconstruct a fake preimage tree by reading the object names from the "index" lines. With a230949 (am --rebasing: get patch body from commit, not from mailbox, 2012-06-26), we switched to use "diff-tree", but forgot that without "--full-index", the information generated on the "index" line is insufficient to recreate a preimage tree that contains a submodule. The first one is the real fix to this issue. The other two falls into the niceties category; they are to issue a better error messge when the machinery is fed an abbreviated object name on the "index" line for a submodule. Junio C Hamano (3): git-am: record full index line in the patch used while rebasing apply: simplify build_fake_ancestor() apply: diagnose incomplete submodule object name better builtin/apply.c | 30 ++++++++++++++++-------------- git-am.sh | 2 +- t/t7402-submodule-rebase.sh | 30 ++++++++++++++++++++++++++++-- 3 files changed, 45 insertions(+), 17 deletions(-) -- 1.8.1.2.612.g09f4be5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html