Search code examples
windowsmercurialntfs

Mercurial remotes on the file system instead of http server


I'm currently working on a migration from svn to mercurial. My needs are plain and simple, I need source control over an intranet in our company. I see examples everywhere for setupping remote repos over IIS. I just don't see the point when I can just make a share on a server.

Can I still setup authorizations and authentications on repos using NTFS permissions?

Am I missing something?

Thank you


Solution

  • Putting a repository on a file share works, but it's not the way recommended by the Mercurial team.

    See the "shared disk" part of Publishing Repositories on the HG wiki:

    generally restricted to intranets, not generally recommended due to general issues with network filesystem reliability

    Be sure to check out Chris Becke's answer as well, because he points out another valid disadvantage (people with write access deleting stuff from the network share, be it intentionally or not).

    If you are aware of (and can live with) these things, putting the repositories on the network share is without a doubt the easiest way to setup.

    My personal experience is that it works perfectly as long as the Windows share is on a "real" Windows machine.
    At work we're using a share on a real Windows server without problems, but at home I ran into issues with a NAS (which behaves like a Windows share but actually runs on Linux).
    You can read more about my experiences here:
    Can you 'push' to network share using Mercurial on 64bit Windows 7?