Locking bug on Mac OS X over AFP
mpm at selenic.com
Sun Mar 9 17:22:44 CDT 2008
On Sun, 2008-03-09 at 15:05 -0700, Jens Alfke wrote:
> On 9 Mar '08, at 9:45 AM, Matt Mackall wrote:
> > What's in .hg/store/lock? We don't actually use any operating system
> > locking here, it's simply a file (usually a symlink). Does AFP support
> > symlinks?
> Yes, it does. (It's not uncommon in enterprise/edu. Mac deployments to
> have user home directories on AFP servers, so it supports all the
> standard Unix semantics.) There are some subtle issues with file
> locking, but then, _every_ network filesystem has subtle issues with
> file locking :-P
And we don't use file locking. That is, we don't use any operating
system APIs such as flock/lockf, etc. that enforce exclusive access.
Instead, we simply rely on atomic file creation. Using a symlink lets
us simultaneously create a file and store our lock information.
So the error messages seen here:
> 8) hg clone /Volumes/ewing/LOCKBUG LOCKBUG2
> abort: Resource busy: /Volumes/ewing/LOCKBUG/.hg/store/lock
..is quite mysterious.
 If your network filesystem lets two users simultaneously create the
same file, you've got Bigger Problems.
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial