首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锁定的.csproj文件正在破坏Mercurial存储库

锁定的.csproj文件正在破坏Mercurial存储库
EN

Stack Overflow用户
提问于 2011-06-14 00:15:34
回答 3查看 400关注 0票数 0

我在Visual Studio中使用VisualHG。在拉取(使用Fetch)时,有时我会收到以下错误消息:

Errno 13 C:\inetpub\Websites\SomeProject.csproj:该进程无法访问该文件,因为其他进程正在使用该文件

这反过来使我的存储库变得一团糟,导致我不得不删除所有内容并再次拉取。我能做些什么来防止这种情况发生吗?在从TortoiseHG或命令行拉入时似乎不会出现此问题,只有在Visual Studio中打开项目并使用VisualHG拉入时才会出现此问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-15 23:52:18

我们在一台装有TortoiseHg 2.0.4和VS2008的机器上看到了非常类似的东西。它看起来像Visual Studio,它在检测到文件修改事件时会短暂地锁定文件,这会导致Hg失败。我们在TortoiseHg和命令行客户端上都看到了这一点。

虽然在pull期间发生这种情况非常令人沮丧,但在merge期间也会发生这种情况,这可能是相当灾难性的。

票数 2
EN

Stack Overflow用户

发布于 2011-06-14 03:41:10

也许你唯一能做的就是在你fetch的时候不要打开Visual Studio。导致它的不是fetchpull部分,而是update。Visual Studio似乎锁定了您的项目文件,并且不允许Mercurial在其打开时对其进行更改。

但是,您没有指定在通过TortoiseHG或命令行使用fetch时项目是否处于打开状态。您也可以尝试单独拉取和更新,而不是使用fetch

编辑:也可以是TortoiseHg版本。我之前尝试用一个打开的项目更新不同的版本,Visual Studio2008只是想重新加载它(没有文件锁定错误),但我使用的是TortoiseHg 2.0.5。你可以随时返回到1.1。*如果你不喜欢它或者它不能工作。

票数 1
EN

Stack Overflow用户

发布于 2011-10-18 01:03:26

我们已经看到与Mercurial和VS2008的文件锁定相同的问题,但与.csproj文件无关。我们甚至不对项目文件进行版本控制,因为它们是由cmake生成的,而是对我们的cmake文件进行版本控制。

这个问题导致我在一种情况下损失了一天的工作,在另一种情况下导致了不正确的合并,因为旧文件覆盖了新文件。

当这些事情发生时,我正在使用fetch扩展。

Z:>hg -- Mercurial Distributed SCM (1.9.2版)(有关详细信息,请参阅http://mercurial.selenic.com )

版权所有(C) 2005-2011 Matt Mackall和其他人这是自由软件;请参阅复制条件的源代码。没有任何保证;即使是适销性或对特定目的的适用性也不作保证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6333138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档