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

Re: repository corruption when pushing commits to a repository running 'git gc --prune='

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Oct 14, 2015, 20:08 UTC
Message-ID
<vpq37xd8b7f.fsf@grenoble-inp.fr>
In-Reply-To
<xmqq7fmp8bcf.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>
>> This looks like a race between deleting objects/05/ and creating
>> objects/05/cdb51bb0ea3e229734a4b1bddd5ec70fbc65ed.
>>
>> I don't understand how this is possible, since the temporary file and
>> the final one are in the same directory, so deleting the directory
>> should fail.
>>
>> What am I missing?
>
>  1. tmp_obj_* gets created in objects/05/ by "git unpack-objects";
>
>  2. prune_cruft() comes, notices tmp_obj_* that is sufficiently old,
>     decides to remove in "git prune".
Ah, OK, the real problem is the temporary file removal. Thanks.
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Junio C Hamano
Message 10 of 10 in “repository corruption when pushing commits to a repository running 'git gc --prune='”
  1. Jan SmetsOct 14, 2015
  2. Matthieu MoyOct 14, 2015
  3. Junio C HamanoOct 14, 2015
  4. Matthieu MoyOct 14, 2015
  5. Junio C HamanoOct 14, 2015
  6. Matthieu MoyOct 14, 2015
  7. Junio C HamanoOct 14, 2015
  8. Matthieu MoyOct 14, 2015
  9. Junio C HamanoOct 14, 2015
  10. Matthieu MoyOct 14, 2015

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.