【问题标题】:SVN Commit errors because of file move (rename)由于文件移动(重命名)导致的 SVN 提交错误
【发布时间】:2016-07-19 21:21:17
【问题描述】:

当 SVN 不提交时,没有比处理 SVN 更令人沮丧的了。这是我收到的错误消息:

我已经做了我能想到的所有事情,并把我剩下的一点头发都扯掉了。我已经阅读了 Stackoverflow 上发布的其他建议。当我允许 Visual Studio 2010 重命名命名空间时,这个问题就开始了。我知道我把所有东西都恢复到了原来的位置,但 SVN 并不相信。

这是 SVN 状态(更好的屏幕截图):

【问题讨论】:

  • 显示整个工作副本的 svn status 输出或 TortoiseSVN 的屏幕截图,显示待处理的更改列表。
  • 你是说日志吗?或者svn状态在哪里?
  • 不确定 Visual Studio 2010 是否在重命名时处理了 .svn 文件夹?
  • @IndraUprade 问题与“.svn”文件夹无关。而不是“文件夹”。它是工作副本根目录下的单个文件夹。
  • @zetar 我的意思是svn status 命令或这个TortoiseSVN 对话框:tortoisesvn.net/docs/release/TortoiseSVN_en/… 检查工作副本的状态会告诉你错误发生的原因。顺便说一句,你不是在 IDE 中使用 AnkhSVN 或 VisualSVN 吗?

标签: visual-studio-2010 svn ankhsvn


【解决方案1】:

您在 Visual Studio 中进行了一些操作,导致将某些文件重命名或移动到 ../CourierReportingEnemy.Designer.cs(检查错误消息)。提交此类更改必须包括 2 个操作:remove(删除原始文件)和 add(在新位置或使用新名称重新添加),并在两个操作之间建立链接。但是,由于某种原因,此更改的 REMOVE 部分未包含在您的提交中。

尝试从 Subversion 工作副本的根目录(例如您的解决方案的根目录)提交,并确保提交包含所有必要的更改。

更新:

看起来有问题。移动源Messenger.cs* 文件现在是非版本化的。但是,它们应标记为已删除。 AnkhSVN 有可能无法将 Visual Studio 的操作转换为 Subversion,但我不确定。

我建议从头开始重新命名您的命名空间。不过,TortoiseSVN 的Repair moves/renames 功能可能会有所帮助。

【讨论】:

  • 你是绝对正确的。我不小心将 Messenger.cs 重命名为 CourierReportingEnemy... 等等。从根目录(或任何其他地方)提交没有运气。我应该尝试重命名 CourierReportingEnemy 文件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多