【问题标题】:SVN keeps corrupting files with "<<<<<<< .mine", how to fix?SVN不断用“<<<<<<< .mine”损坏文件,如何解决?
【发布时间】:2011-01-02 00:55:39
【问题描述】:

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

文件的值无效“

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

【问题讨论】:

    标签: c# visual-studio svn tortoisesvn ankhsvn


    【解决方案1】:

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

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

    修复冲突并告诉 subversion 这已解决。

    【讨论】:

    • 谢谢大家。通过查看与我的工作副本的差异发现了问题,它似乎是 Debug 文件夹中的一个文件(我今天从 SVN 中排除了该文件)。我的一位同事在没有解决的情况下解决了问题..
    • 修复3个文件中的哪个冲突? .mine? .rOLDREV? .rNEWREV?答:都没有。相反,修复 original 文件(没错:SVN 的提交尝试留下了 4 个令人困惑的文件)
    【解决方案2】:

    只需删除 obj 文件夹即可。

    【讨论】:

    • obj文件夹与Subversion破坏文件无关
    • @MysticEarth:如果您在解决冲突之前尝试构建,有时会出现主题行中的错误,并且即使在解决冲突之后也会继续出现。 grepping 目录与 "
    • +1 这对我也有用。 “错误列表”没有列出任何特定文件,我手动解决了冲突,ReSharper 在解决方案中看不到任何问题,Find 也找不到类似“.mine”的东西,但 VS 仍然会拒绝 Build 甚至拒绝 Clean。删除“obj”文件夹是一个即时修复。无需重启VS。
    • 是的,它对我也很好。我刚刚删除了“obj”文件夹,它对我来说很好。
    • 感谢您的解决方案!
    【解决方案3】:

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

    【讨论】:

    • 也许是个愚蠢的问题;但是我在哪里可以找到 .mine 文件?我似乎找不到他们。此外,没有文件存在冲突,当我在所有文件中搜索“我的”时,什么也没找到......
    • 就在不再编译的源文件旁边(因为冲突标记)。检查具有相同基本名称但扩展名不同的文件。
    • 嗯,Visual Studio 没有给出任何文件名,只是上面的错误。而且我没有看到任何冲突标记...
    • 它将位于 .csproj(或 .vcproj 或其他)文件或 .sln 文件中。您可以使用 svn 的适当标题的“责备”功能来查看谁犯了违规行。无论是谁都错误地解决了冲突。
    • 暂时忘记 Visual Studio 并导航到文件系统中的文件。你会在那里找到提到的文件。不过,您可以从 IDE 解决冲突(编辑文件)。邪恶的思路:也许你的一些同事设法签入了带有冲突标记的文件..?
    【解决方案4】:

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

    从 svn 版本控制中删除您的 obj 文件夹。因为在每次构建时都会更新,并且当其他开发人员提交对解决方案的更改时,SVN 无法处理 obj 文件夹文件并引发错误

    文件具有无效值“

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      【解决方案6】:

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

      【讨论】:

      • 谢谢,因为调试文件夹,它没有指向实际文件。
      【解决方案7】:

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

      这将在您的合并编辑器中打开更改后的文件。 (参见工具->选项->源代码管理->AnkhSVN 的颠覆用户工具)。借助免费使用的SourceGear DiffMerge 或 TortoiseMerge 等优秀的合并工具,只需点击几下鼠标即可解决冲突。

      【讨论】:

      • VisualSVN 实际上是使用 TortoiseSVN 实现的。您也可以通过在 Windows 资源管理器中右键单击文件并选择编辑冲突来使用 TortoiseSVN。
      【解决方案8】:

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

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

      【讨论】:

        【解决方案9】:

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

        【讨论】:

        • 无需关闭/重新打开 VS。在Solution Explorer中点击“显示所有文件”并删除“Obj”文件夹。完成。
        【解决方案10】:
        • 在您的项目中:

          odj folder -&gt; Debug -&gt; project name.csproj.Filelistabsolute.txt(snb.csproj.Filelistabsolute.txt)

        • 在文本文件中 &gt;&gt;&gt;&gt;&gt;&gt;&gt;.mine 和 &gt;&gt;&gt;&gt;&gt;&gt;&gt;.r150 发生 删除程序工作的东西

        【讨论】:

          【解决方案11】:

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

          2)还原文件

          3) 从 SVN 更新它

          4)粘贴您的本地更改

          【讨论】:

          • 这就是我一直在做的事情来克服这个错误。
          【解决方案12】:

          如果您使用的是 TortoiseSVN,您应该在名为 Edit Conflicts 的文件上有一个右键单击选项。这应该会调出 TortoiseMerge,它能够读取那些卡在文件中的讨厌的符号(真的,要破坏你的代码,这样你就知道有问题,不要盲目地签入)。

          TortoiseMerge 将正确读取它并为您提供 3 路合并。这就是我要找的。虽然它确实也创建了单独的 .mine 和 .rxxx 和 .ryyy 文件,并且有各种手动和命令行方式来处理这一切。

          【讨论】:

            【解决方案13】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-02-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-11-08
              • 1970-01-01
              • 2019-05-30
              • 2023-03-25
              相关资源
              最近更新 更多