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

recovering a corrupted git repo

From
PSPhillip Susi <psusi@ubuntu.com>
Date
Jan 7, 2013, 03:44 UTC
Message-ID
<50EA44BA.2030107@ubuntu.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have not had any issue until I ran a git fsck recently, which repored gzip and crc errors in some pack files. git fsck does not seem to repair the errors, only report them. I would like to try to rebuild my repository, without downloading any more from the origin than I have to. All of the commits I have added seem to still be intact, so I assume the corruption in somewhere in the upstream history packs.

How can I correct the errors, and fetch the corrupted upstream history, while preserving my patches? So far I have exported my patches as bundles, and made a fresh clone from upstream, then pulled the bundles back in, but there must be a better way that only fetches the corrupted bits from upstream?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQEcBAEBAgAGBQJQ6kS6AAoJEJrBOlT6nu75tFgIAJCI+DEWDVxddEQM5qhmz1y8 3JuqjTHp7gIXmQv6WGbEIehJrRfTBudQn+Ip2jLMwavvL16oZe+cf/uuLo393Z+T pxEcWHOtjdU/XZeQOV//R/Cfo7PY5n8wfasgFYZuFesJchInwFocTI6S5x2B9kIB dvLonoiDQwe9JqQaoAxM0OLTWe9aj0gc3c36+WUlRgRZijUhEogYQwU8aEoa+TMq s2p+tbaNYKocRAafQ4824DMnuQTWb+HJVU4uI1pH2yB964Urq9ELSX2jxeSRdlaH d+AoJ8oMdymmUwPeuyivcmQQHEGGsxxgCOuLSSHh1hcxMaytZNcEkVQ6OzuGyZk= =yUr4 -----END PGP SIGNATURE-----

Next: Christian Couder
Message 1 of 2 in “recovering a corrupted git repo”
  1. Phillip SusiJan 7, 2013
  2. Christian CouderJan 7, 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.