2010-02-08 1022 views
7

当我尝试提交时出现此错误。做了什么,我认为是该文件夹的重命名。我试过已经重命名/移动文件夹。但我继续得到错误。TortoiseSVN - “您必须先更新您的工作副本”

Command: Commit 
Error: Commit failed (details follow): 
Error: File 'Page.aspx' is out of date 
Error: File not found: transaction '99-4a', path '/trunk/src/Solution.UI/Views/ViewName/Page.aspx' 
Error: You have to update your working copy first. 

我尝试更新,但不幸的是没有解决问题。

Command: Update 
Completed: At revision: 99 

编辑:后,从文件夹中删除的文件,做更新,以恢复他们,并更换与原件恢复的文件,我得到这个错误:

Error: Commit failed (details follow): 
Error: Base checksum mismatch on '/trunk/src/Solution.UI/Views/ViewName/Page.aspx': 
Error: expected: ed3bc4a70ee4256bd2f7cf8c57f29a1f 
Error:  actual: b8a2797dc262dc714fae6dc897b5ebd2 
+0

你肯定做的时候你替换了没有替换.svn子目录中的文件的resotred文件? – cetnar 2010-02-08 20:57:33

+0

@cetnar:是的,我先删除了它们。 – 2010-02-08 21:03:00

回答

13

SVN知道存储库中存在更改,但它不知道更改是什么。您可能在工作副本上做了完全相同的更改,但除非实际尝试进行更新,以便SVN可以运行该解决方案,否则它不会检查您的本地更改与回购更改是否相同。

执行svn update并且冲突解决应该是自动的。但是,如果您对相同的文件进行了更改,即使它发生完全相同的更改,它也可能会要求您手动解析(如果更改为文件夹重命名,则更有可能)

您可能还必须执行svn resolved执行手动冲突解决。

最糟糕的是,您可以随时复制您更改的文件,恢复本地更改,更新并替换新文件夹中的文件。

+3

'svn resolved':文件列表为空。 – 2010-02-08 20:38:14

1

必须更新你的工作副本。

也就是说,执行“SVN更新”以获取最新版本,并检查以确保您的更改不会发生冲突。

+1

我做更新,并更新。但问题没有解决。 – 2010-02-08 20:30:20

1

做一个“SVN清理”,然后做一个更新

+0

SVN清理> SVN更新> SVN Commite。但错误继续炸毁。 – 2010-02-08 20:36:48

1

它看起来就像你在你的工作拷贝有Page.asx,它不存在仓库了?

也许尝试从您的驱动器物理删除它,或者如果它仍然需要将它移动到不同的位置,尝试提交,然后再次添加它?

+0

+1删除有问题的文件(如果您对其进行了更改,请将其备份)并进行更新以获取“已更新”的Page.asx – 2010-02-08 20:57:53

1

有时你可以得到这些奇怪的破解工作拷贝问题,尽管尝试了一切,但你不能再次工作,你完全无法承诺你的工作。解决这种情况的一种方法是执行以下操作:

  • 检出您的项目到一个新文件夹。
  • 只将修改后的文件从旧的工作副本复制到新的工作副本。如果你经常犯这个不应该花很长时间。如果您每月提交一次,则可能需要一些时间...
  • 仔细检查两个工作副本上的修改列表是否相同。
  • 从您的新工作副本提交。
  • 删除旧的工作副本,并再次检查出来。

这不是很令人满意的做这种方式,因为它不会告诉你什么地方出了错,为什么,但如果你只是想与你的工作,那么它很高兴知道,有速战速决。

2

我正在使用TortiseSVN,并遇到了您遇到的问题。

尝试努力:删除一个目录及其中的文件。

我解析路径(全部有效的方法)

  1. 选择相关的文件。用鼠标右键单击| TortiseSVN |删除

    响应:标记为删除的文件。

  2. 右键单击包含目录| TortiseSVN |提交

    响应:文件已删除。

  3. 右键单击上述包含的目录下一个更高的目录| SVN更新

    响应:更新完成。

  4. 右键点击我想删除的目录| TortiseSVN |删除

    响应:标记为删除的目录。

  5. 右键单击上述提到的目录 - 删除| SVN提交

    响应:目录删除

过程完成。

0

你应该只取消选中删除或做svn commit

0

当我尝试这种解决方案丢失的文件和它的工作非常适合我。 1将工作副本导出到另一个Temp目录。 2,删除工作目录中的所有文件 3查核在工作目录 4复制文件的Temp目录覆盖所有现有文件 5-工作目录提交

相关问题