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

Re: does a successful 'git gc' imply 'git fsck'

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 2, 2012, 09:31 UTC
Message-ID
<7vlidgls09.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAMK1S_iBq1ReGkjuy2UBENSQXOWyKj2ZzSCcg7Z89FVtVL2wMw@mail.gmail.com>
Sitaram Chamarty <sitaramc@gmail.com> writes:
> If I could assume that a successful 'git gc' means an fsck is not
> needed, I'd save a lot of time.  Hence my question.

When it does "repack -a", it at least scans the whole history so you would be sure that all the commits and trees are readable for the purpose of enumerating the objects referred by them (and a bit flip in them will likely be noticed by zlib inflation).

But a "gc" does not necessarily run "repack -a" when it does not see too many pack files, so it can end up scanning only the surface of the history to collect the recently created loose objects into a pack, and stop its traversal without going into existing packfiles.

Previous: Sitaram ChamartyNext: Sitaram Chamarty
Message 4 of 7 in “does a successful 'git gc' imply 'git fsck'”
  1. Sitaram ChamartyDec 2, 2012
  2. Shawn PearceDec 2, 2012
  3. Sitaram ChamartyDec 2, 2012
  4. Junio C HamanoDec 2, 2012
  5. Sitaram ChamartyDec 3, 2012
  6. Matthieu MoyDec 3, 2012
  7. Junio C HamanoDec 3, 2012

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.