SVN使用“<<<<<<<<<<< .mine”来破坏文件,如何修复?

时间:2010-01-06 12:17:58

标签: c# visual-studio svn tortoisesvn ankhsvn

我有一个受版本控制(SVN)的Visual Studio C#项目。 我总是提交和更新项目没有任何问题。但是几个小时前,当我尝试启动/重建项目时,Visual Studio会抛出以下错误:

  

文件的值无效“<<<<<<<<<   .mine“。路径中的非法字符。

我不知道如何解决这个问题。我该怎么办?

13 个答案:

答案 0 :(得分:65)

当svn遇到冲突时会发生这种情况:您更改了文件,服务器上的文件已更改,无法(轻松)自动合并。 现在需要确定什么是正确的解决方案。

Subversion只是将diff添加到源文件中(并在其旁边创建文件,名为OriginalName.mine(未更改)和OriginalName.rsomething(未更改,服务器版本))。

解决冲突并告诉subversion这是已解决的

答案 1 :(得分:36)

只需删除obj文件夹,它就能正常工作。

答案 2 :(得分:10)

删除不应该在文件中抛出错误的代码,并删除扩展名为.mine,。<somerevision>和。<some_other_revision>的三个文件。 svn更新了现在包含“冲突”的文件,您需要手动解决这些冲突。通常这意味着您编辑了一个文件,其他人编辑了同一个文件并签入了更改,并且在签出更改的文件时您没有注意。

答案 3 :(得分:6)

请阅读颠覆书中的Basic Usage章节。它有一个关于Merging conflicts by hand的部分,它解释了您所看到的冲突标记。

答案 4 :(得分:6)

删除 obj文件夹 中的所有内容。

svn版本控制中删除 obj文件夹 。因为在每个构建它都会得到更新,当其他开发人员提交更改解决方案时,SVN无法阻止obj文件夹文件并引发错误

  

文件的值无效“&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine”。路径中的非法字符。

答案 5 :(得分:3)

删除调试文件夹对我有用(请参阅上面的评论 - 不回答)。 将12个文件夹从svn的一个部分移动到新部分后,我得到了这个。因此,如果您在移动项目后获得此项并且错误未指向实际文件,则可能是您的问题。

答案 6 :(得分:2)

如果您安装了AnkhSVNVisualSVN,这很可能就像右键单击解决方案资源管理器中的文件并选择编辑冲突一样简单。

这将在合并编辑器中打开更改的文件。 (请参阅工具 - &gt;选项 - &gt;源代码管理 - &gt; AnkhSVN的Subversion用户工具)。有了一个很好的合并工具,比如免费使用SourceGear DiffMerge或TortoiseMerge,只需点击几下鼠标即可解决冲突。

答案 7 :(得分:1)

我已经大规模地发生了这种情况,文件被标记为已解决,但冲突元数据仍然存在。我为visual studio编写了一个正则表达式来查找这些,例如,简单地还原已更改的文件是不可行的。

http://www.codetunnel.com/blog/post/90/ever-merge-with-svn-and-mess-up-when-resolving-conflicts-read-on

答案 8 :(得分:1)

我关闭了IDE,然后删除了obj文件夹并重新启动了IDE并重建了我的代码。这对我有用。

答案 9 :(得分:1)

  • 在您的项目中:

    odj folder -> Debug -> project name.csproj.Filelistabsolute.txt(snb.csproj.Filelistabsolute.txt)

  • 在文本文件中 >>>>>>>.mine>>>>>>>.r150发生了{{1}} 删除程序工作的东西

答案 10 :(得分:1)

1)只需保存您在文件中编辑的本地更改

2)还原文件

3)从SVN更新它

4)粘贴您的本地更改

答案 11 :(得分:0)

如果您使用TortoiseSVN,您应该在名为Edit Conflicts的文件上有一个右键单击选项。这应该会带来TortoiseMerge,它能够读取文件中那些令人讨厌的符号(真的,为了打破你的代码,你知道那里有一个问题并且不要盲目地检查它)。

TortoiseMerge会正确阅读并向您展示3向合并。这就是我想要的。虽然它确实也创建了单独的.mine和.rxxx和.ryyy文件,并且有各种手动和命令行方式来处理所有这些。

答案 12 :(得分:-1)

有一个简单的解决方案。只需从调试文件夹中删除所有文件并重建解决方案,屏幕上会显示错误“存在构建错误。您想继续并运行最后一次成功的构建吗?单击“是”按钮。现在停止程序并正常运行.