problem on OSX with repository in network shared partition

sbarex sbarex sbarex at gmail.com
Mon Nov 29 10:34:56 CST 2010


About the command
$ ln -s . hg-checklink-xxx && unlink hg-checklink-xxx
I see in the log of AFS the error -5007 (afpDirNotEmpty)
But if I wait some seconds I can delete the file !?!?!

With the command
$ python -c 'import os; os.symlink(".", "x"); os.unlink("x")'
sometimes works ok, but sometimes fail !!!

Traceback (most recent call last):
  File "<string>", line 1, in <module>
OSError: [Errno 66] Directory not empty: 'x'

This evenig I try with another computer to test if is a problem of this
mac...


2010/11/29 Mads Kiilerich <mads at kiilerich.com>

> On 11/29/2010 04:10 PM, sbarex sbarex wrote:
>
>> Hi, I'm starting to experience a few days mercurial but I have a big
>> problem:
>> I'm on a mac with OSX 10.6 with a remote disk mounted from a XServe (OSX
>> 10.4) with afs protocol.
>>
>
> Apparently not directly relevant, but note the warning on the hg man page
> and in "hg help clone":
>
> For efficiency, hardlinks are used for cloning whenever the source and
> destination are on the same filesystem (note this applies only to the
> repository data, not to the working directory). Some filesystems, such as
> AFS, implement hardlinking incorrectly, but do not report errors. In these
> cases, use the --pull option to avoid hardlinking.
>
> (Someone with interest in AFS could perhaps implement some automatic
> detection of this case, similar to what is used on Windows network shares
> now.)
>
>
>  If I clone a repository form a local path (of directory inside a
>> usb/firewire HD) to a path in the network drive I get a defective copy:
>>
>
> Is the copy really defect or is it "just" that you can't use it with
> Mercurial over AFS? Does it work if you copy it back to your local disk?
>
>
>  - on the root of the repository I found a symlink named like
>> hg-checklink-Z0jTkj cross linked with current directory:
>>
>
> That indicates that this shell command sequence also fails on AFS:
>
> ln -s . hg-checklink-xxx && unlink hg-checklink-xxx
>
> or
>
> python -c 'import os; os.symlink(".", "x"); os.unlink("x")'
>
> Can you test that?
>
>
>  - if I try to remove a file, hg say me:
>> $ hg remove file.txt
>> waiting for lock on working directory of
>> /Volumes/XRAID/Developer/repository held by
>> 'Mac-Pro-di-sbarex.local:45849'
>> and in .hg folder many wlock files are created...
>>
>
> Mercurial uses symlinks for locking - if symlinks works. But it seems like
> symlinks and symlink detection doesn't work.
>
> /Mads
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20101129/8021d52a/attachment.htm>


More information about the Mercurial mailing list