我们正在从Windows XP x86升级到Windows 7 x64,我正在测试当前工作流程的兼容性问题。
目前,我们将中央Mercurial存储库存储在网络共享上,将副本克隆到我们的工作站,并将我们的更改推送回基于网络的存储库。这在WinXP中完美运行,但在Win7中,我在回到网络共享时始终收到错误消息:
推送到t:\ datamgt \ automat \ Kevin \ SampleRepo 寻找变化 [错误32]进程无法访问该文件,因为它正由另一个进程使用:'T:\ datamgt \ automat \ Kevin \ SampleRepo \ .hg \ journal.dirstate'
我正在使用TortoiseHG 1.1.1和Mercurial 1.6.1023。
我已经能够推送存储在同一工作站上的存储库,但不能推送到网络共享存储库。如果可能的话,我们不想去基于网络服务器的存储库 - 这是为了让新软件添加到我们的服务器上而进行的一场大战。
答案 0 :(得分:2)
可以推送到网络共享,但不是Mercurial团队推荐的。
请参阅Mercurial wiki中的Publishing Repositories中的“共享磁盘”部分:
通常仅限于内部网,不是 一般推荐一般 网络文件系统的问题 可靠性
在我的工作场所,我们将HG存储库保存在网络共享(在Windows 2003服务器上),因为它是最容易设置的。我们现在这样做了大约一年半,我们从来没有像你这样的问题。
但在国内,我在NAS上有一个网络共享(它可以从Windows访问,它看起来和感觉就像一个Windows共享,但NAS实际上是在Linux上运行)。我很长一段时间都没有遇到任何问题,但是几周后我遇到了类似你的错误(尽管有不同的错误信息)。
我posted this on the Mercurial bug tracker,我被告知我的问题可能是因为我的NAS在Linux上运行,因为他们不知道真正的 Windows共享有任何问题:
在真正的Windows股票上(由...提供服务) Windows)似乎没有 问题(从未听说过其他人 这样做的问题。)
所以也许你的问题也是由类似的东西造成的 您尝试推送什么样的Windows共享?它真的在Windows机器上吗?