Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
520 views
in Technique[技术] by (71.8m points)

tortoisehg - 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:datamgtautomatKevinSampleRepo searching for changes [Error 32] The process cannot access the file because it is being used by another process: 'T:datamgtautomatKevinSampleRepo.hgjournal.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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...