【发布时间】:2012-04-01 21:51:42
【问题描述】:
我正在使用 Hg 与参与 VS2008 项目的其他三个开发人员一起管理和合并代码。我们确实有一个 .hgignore 文件,它忽略了很多不需要跟踪的文件,例如 *.pdb、*.obj 等。但是,我们确实跟踪 .csproj 文件。
通常,合并后文件似乎会丢失。我们会遇到构建问题,并且必须重新定位项目文件夹中的文件,而不是 csproj 文件中的文件。
最后,我在合并冲突期间注意到有时 Hg 似乎合并不正确。这是下面的屏幕截图。需要人工干预的实际冲突在文件中较低。但是在本节中,hg 错误地将 DirectoryTasks.cs 替换为一个名为 ReportTasks.cs 的新文件,而事实上,两者都应该添加。人们如何设法避免这种情况?
【问题讨论】:
-
我在
ReportTasks.cs行附近的左栏中看到了字母B,您在那里选择了B(或者它是否以相同的方式标记自动决策?!)。而不是选择A和B -
不,hg 在我做任何事情之前选择了 B。实际的冲突在文件中的其他地方,等待我的解决。 IOW,我没有在这个合并位置选择 B,它以某种方式被“预选”,会导致构建错误......
-
为了更清楚,屏幕截图是我在开始合并分辨率时看到的,其中一些东西已经为我合并了。我尚未对此文件采取任何措施。
-
@alphadogg - 你能用窗口的相关部分和更大的比例替换屏幕截图吗?
-
虽然已关闭,而且示例很糟糕,但 csproj 文件似乎有可能成为 CVS 中的问题。请参阅 discuss.joelonsoftware.com/default.asp?dotnet.12.288423.10 以获取旧的不同示例。 VS 似乎以某种方式添加了可能导致合并问题的
行。
标签: visual-studio-2008 mercurial merge