Can you 'push' to network share using Mercurial on 64bit Windows 7?

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-26 14:54:14

问题


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.


回答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?



来源:https://stackoverflow.com/questions/3250031/can-you-push-to-network-share-using-mercurial-on-64bit-windows-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!