How to treat a symbolic link as a directory in Mercurial?

前端 未结 4 1926
夕颜
夕颜 2020-12-29 04:32

As of 0.9.4, when adding a symbolic link Mercurial keeps track of the link itself, and not the file or directories it points to. However, there are cases when it is desirabl

相关标签:
4条回答
  • 2020-12-29 04:41

    I was surprised when I found this too, but it seems to be a feature that the Mercurial team don't want to change for security reasons.

    I'm planning to get around it by using rsync to update the local copy of the directory before committing, from my makefile. This isn't a great solution but my directory is quite small so it should be OK.

    0 讨论(0)
  • 2020-12-29 04:42

    Under linux you can use

    mount --bind sourcepath targetpath
    

    instead of symbolic links and mercurial will treat target as usual directory (tested on openSUSE 11.2 with Mercurial 1.3.1, and on RHEL6).

    The alternative syntax, amenable for inclusion in /etc/fstab, is

    mount -o bind sourcepath targetpath
    

    The fstab entry is, then

    sourcepath targetpath none defaults,bind 0 0
    
    0 讨论(0)
  • 2020-12-29 04:49

    Just a follow up on Rage Steel's excellent answer (mount --bind):

    To make your mount ready on boot (since mounts don't survive reboots), in your /etc/fstabs put:

    /paht/to/source /path/to/target bind defaults,bind 0 0

    Just make sure to put it after your source is mounted.

    0 讨论(0)
  • 2020-12-29 04:59

    I don't think there's a way to do this when you're working with directories.

    If you're working with mercurial 1.3 or later you could try using the new subrepo support, that will let you have a repo track stuff ourside of it on the local disk, but it's not as seamless as a link would have been.

    0 讨论(0)
提交回复
热议问题