Can you 'push' to network share using Mercurial on 64bit Windows 7?
We are in the process of upgrading from Windows XP x86 to Windows 7 x64, and I'm testing for compatibility problems with our current workflow.
Currently, we store central Mercurial repositories on a network share, clone copies to our workstations, and push our changes back to the network-based repositories. This works perfectly in WinXP, but in Win7 I consistently get an error message when pushing back to the network share:
pushing to t:\datamgt\automat\Kevin\SampleRepo searching for changes [Error 32] The process cannot access the file because it is being used by another process: 'T:\datamgt\automat\Kevin\SampleRepo\.hg\journal.dirstate'
I'm using TortoiseHG 1.1.1 and Mercurial 1.6.1023.
I've been able to push to repositories stored on the same workstation, but not to the network share repo. If possible, we'd prefer not to go to a webserver-based repository - it's an up-hill fight to get new software added to our servers.
Solution 1:
Pushing to a network share is possible, but not recommended by the Mercurial team.
See the "shared disk" part in Publishing Repositories in the Mercurial wiki:
generally restricted to intranets, not generally recommended due to general issues with network filesystem reliability
At my workplace, we are keeping our HG repositories on a network share (on a Windows 2003 server) as well because it was the easiest to set up. We're doing this for about one and a half year now, and we never had problems like yours.
But at home, I have a network share on a NAS (it's accessible from Windows and it looks and feels like a Windows share, but the NAS actually runs on Linux). I had no problems for a long time, but since a few weeks I'm having similar errors like you (with a different error message though).
I posted this on the Mercurial bug tracker, and I was told that my problem is probably caused by the fact that my NAS runs on Linux, because they don't know of any problems with real Windows shares:
On real Windows shares (served by Windows) there doesn't seem to be a problem (never heard of others having problems doing that).
So maybe your problem is caused by something similar as well.
What kind of Windows share is it that you try to push to? Is it really on a Windows machine?