It turns out the bug is older than "M 040000.." command. Managed to reproduce with just "C .." command from tags/v1.5.3-rc2~6^2 b6f3481b.. Teach fast-import to recursively copy files/directories (Jul 15 2007) And even better, there is no need to add a explicit check for sha1 mismatch (we may still want to have this, but it can go separately). Basically the test does: Fill two distinct directories old/a, old/b Commit them (necessary to make trees have sha1 computed and thus become potential delta bases) C old new C old/a new/b M ... new/b/new_file new/b is stored as a delta against old/a, but with delta base pointing to old/b. And so ls-tree new/b fails, fsck fails both with "failed to apply delta". Dmitry Ivankov (2): fast-import: add a test for tree delta base corruption fast-import: prevent producing bad delta fast-import.c | 35 ++++++++++++++++++++++++++++++----- t/t9300-fast-import.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 5 deletions(-) -- 1.7.3.4 -- 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