【问题标题】:Is SVN Trying To Process My Committed Code?SVN 是否正在尝试处理我提交的代码?
【发布时间】:2014-12-19 17:20:22
【问题描述】:

我对 SVN 有一个问题,我无法弄清楚。每当我尝试将以下 C# 代码块提交到我的 SVN 远程存储库时,都会收到 CheckSum 不匹配错误。
请注意,整个代码块都被注释掉了
该文件仅包含下面显示的注释掉的代码。文件中没有其他内容。


代码


/* private void CreateSvnInfoFile()
    {
        try
        {
            SvnInfoEventArgs svnInfo;
            using (SvnClient client = new SvnClient())
            {
                client.GetInfo(solutionDir, out svnInfo);
            }

            FileInfo svnOut = new FileInfo(this.targetDir + Path.DirectorySeparatorChar + "SvnInfo.xml");
            if (svnOut.Exists)
                svnOut.Delete();

            File.WriteAllLines(svnOut.FullName, new List<string>()
                {
                    "<SvnInfo>",
                    "    <Path>" + svnInfo.Uri.ToString() + "</Path>",
                    "    <Revision>" + svnInfo.Revision.ToString() + "</Revision>",
                    "</SvnInfo>"
                }.ToArray());
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    } */

错误




为了对此进行测试,以下是我遵循的步骤:

  1. 在我的本地目录中,我创建了名为“BLEEPBLOOP.cs”的 .cs 文件,文件中没有任何内容。
  2. 使用 TortoiseSVN,我右键单击该文件并选择“添加”
  3. 使用 TortoiseSVN,我右键单击该文件并选择“提交”
  4. 该文件现在在 SVN 远程存储库中可见。
  5. 我打开了 BLEEPBLOOP.cs 的本地副本并将上述代码块复制/粘贴到文件中。
  6. 已保存文件。
  7. 使用 TortoiseSVN,我右键单击该文件并选择“提交”
  8. 然后会显示错误消息。

这怎么可能?

感谢阅读!

【问题讨论】:

  • 其他文件是否正常?您可能在文本中包含隐藏/非法字符。您可以尝试使用记事本打开它,然后使用特定编码(如 ANSI)执行“另存为...”。
  • @SteveWellens 是的,所有其他文件都正常。我继续尝试使用 ANSI 编码进行 SAVE AS 的建议,但得到了相同的结果。
  • TortoiseSVN 说的是 BLEEP_BLOOP.cs 而 AnhkSVN 说的是 Executor.cs 有什么意义吗? (或者后者只是在您尝试使用 BLEEP_BLOOP.cs 重现它之前的真实错误的屏幕截图?)还有 BLEEP_BLOOP 和 BLEEPBLOOP 之间的区别有什么意义吗?
  • 哦,还有,这可能是由于 Tortoise 和 Ankh 的 SVN 版本不匹配造成的吗?
  • @adv12 抱歉。你是对的。后一个屏幕截图是原始错误的。另一个屏幕截图来自我使用 BLEEP_BLOOP.cs 重现问题。名称 BLEEP_BLOOP 没有任何意义。我只是随便输入了一些名字,这样它就会从其他所有东西中脱颖而出。

标签: c# svn tortoisesvn ankhsvn


【解决方案1】:

当您收到校验和错误时,问题不在于该文件的工作副本版本已损坏...而是其原始版本。 (您可以更改工作副本文件;-))

不知何故,存储在工作副本中的数据类似于 .svn/pristine/AA/AABBCCDDEE00112233445566....svn-base 与 Subversion 预期的数据不同。

您是否不小心对该目录进行了搜索和替换? (这是导致此问题的最可能原因)

【讨论】:

  • Bert- 这很奇怪。我可以使用上面的代码创建一个全新的本地文件。 SVN 中不存在具有该名称的文件。我将新文件提交到 SVN,它说存在校验和错误。如果SVN中甚至不存在比较文件,怎么会出现校验和错误?
  • 想知道为什么我对这篇文章投了反对票?可以肯定的是,我提供了足够多的文档来说明我所做的事情。包括多个视觉示例。它非常详细。猜猜有人认为这还不够......
猜你喜欢
  • 2021-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 2020-09-24
  • 1970-01-01
相关资源
最近更新 更多