Thread (4 messages) flat view 4 messages, 4 authors, 2016-06-15

Re: [PATCH 1/2] index-pack: Create .keep files with same permissions and .pack/.idx

From: Jeff King <hidden>
Date: 2016-06-15 22:50:57

On Fri, Apr 01, 2011 at 02:39:21PM -0700, Junio C Hamano wrote:
Johan Herland [off-list ref] writes:
quoted
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?
We definitely should do that, but it would also be nice if a power
failure, kill -9, or segfault in receive-pack didn't leave a repo
unusable.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help