Re: [PATCH 1/2] index-pack: Create .keep files with same permissions and .pack/.idx
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 1, 2011, 21:39 UTC
- Message-ID
- <7v1v1lfy7q.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <201104010329.05299.johan@herland.net>
Johan Herland <johan@herland.net> writes:
Show 8 quoted lines
> While pushing to a remote repo, Git transiently adds a .keep file for the
> pack being pushed, to protect it from a concurrent "git gc". However, the
> permissions on this .keep file are such that if a different user attempts
> a local cross-filesystem clone ("git clone --no-hardlinks") on the server
> while the .keep file is present (either because of a concurrent push, or
> because of a prior failed push that left a stale .keep file), the clone
> will fail because the second user cannot access the .keep file created by
> the first user.While I am not sure if letting a clone proceed while there is a concurrent push is even a good idea to begin with, I agree that a stale .keep file is a problem.
I am kind of surprised that we are not using atexit(3) to clean them just like we do for lockfiles; wouldn't that be a better solution?