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

Error:non-monotonic index after failed recursive "sed" command

From
GKGeorge Karpenkov <george@metaworld.ru>
Date
Jan 14, 2013, 11:40 UTC
Message-ID
<CAMoGvRKkSZqcoGtiebu6tuPndzOjQ1=JgQHb+iusAHpUbA2HbA@mail.gmail.com>
Hi All,

I've managed to corrupt my very valuable repository with a recursive sed which went wrong. I wanted to convert all tabs to spaces with the following command:

find ./ -name '*.*' -exec sed -i 's/\t/    /g' {} \;

I think that has changed not only the files in the repo, but the data files in .git directory itself. As a result, my index became corrupted, and almost every single command dies:

> git log

error: non-monotonic index .git/objects/pack/pack-314b1944adebea645526b6724b2044c1313241f5.idx error: non-monotonic index .git/objects/pack/pack-75c95b0defe1968b61e4f4e1ab7040d35110bfdc.idx ... error: non-monotonic index .git/objects/pack/pack-3da0da48d05140b55f4af1cf87c55a2d7898bdd5.idx fatal: bad object HEAD

Output for git fsck is even worse:
> git fsck

error: non-monotonic index .git/objects/pack/pack-434f8445672a92f123accffce651bdb693bd8fcb.idx ... error: non-monotonic index .git/objects/pack/pack-0c9d5ae4e2b46dd78dace7533adf6cdfe10326ef.idx error: non-monotonic index .git/objects/pack/pack-e8bd5c7f85e96e7e548a62954a8f7c7f223ba9e0.idx Segmentation fault (core dumped)

Any advice? I've lost about 2 weeks worth of work. Is there anything better I can try to do other then trying to reconstruct the data manually from git blobs?

Next: Matthieu Moy
Message 1 of 9 in “Error:non-monotonic index after failed recursive "sed" command”
  1. George KarpenkovJan 14, 2013
  2. Matthieu MoyJan 14, 2013
  3. John KeepingJan 14, 2013
  4. Johannes SixtJan 14, 2013
  5. Junio C HamanoJan 14, 2013
  6. Matthieu MoyJan 14, 2013
  7. George KarpenkovJan 14, 2013
  8. Philip OakleyJan 14, 2013
  9. George KarpenkovJan 15, 2013

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.