From: Matthieu Moy Date: Wed, 14 Oct 2015 20:08:36 GMT Subject: Re: repository corruption when pushing commits to a repository running 'git gc --prune=' Message-ID: In-Reply-To: Junio C Hamano writes: > Matthieu Moy 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/