git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/2] fix data corruption in fast-import

From
Dmitry Ivankov <divanorama@gmail.com>
Date
Aug 14, 2011, 18:32 UTC
Message-ID
<1313346744-30340-1-git-send-email-divanorama@gmail.com>
In-Reply-To
<1313145170-24471-1-git-send-email-divanorama@gmail.com>

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
Previous: Dmitry IvankovNext: Dmitry Ivankov
Message 6 of 14 in “fix data corruption in fast-import”
  1. 0/3 fix data corruption in fast-importDmitry Ivankov, Aug 12, 2011
  2. 1/3 fast-import: extract object preparation functionDmitry Ivankov, Aug 12, 2011
  3. 2/3 fast-import: add a check for tree delta base sha1Dmitry Ivankov, Aug 12, 2011
  4. Jonathan NiederAug 13, 2011
  5. 3/3 fast-import: prevent producing bad deltaDmitry Ivankov, Aug 12, 2011
  6. 0/2 fix data corruption in fast-importDmitry Ivankov, Aug 14, 2011
  7. 1/2 fast-import: add a test for tree delta base corruptionDmitry Ivankov, Aug 14, 2011
  8. 2/2 fast-import: prevent producing bad deltaDmitry Ivankov, Aug 14, 2011
  9. fast-import: do not write bad delta for replaced subtreesJonathan Nieder, Aug 20, 2011
  10. Andreas SchwabAug 20, 2011
  11. Jonathan NiederAug 20, 2011
  12. fast-import: do not write bad delta for replaced subtreesDmitry Ivankov, Aug 20, 2011
  13. Jonathan NiederAug 20, 2011
  14. Dmitry IvankovAug 20, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.