7

我只是设法用 svn 进入一个奇怪的情况。就工作副本而言,我的一个文件似乎“丢失”了。当我查看服务器或在另一个位置重新检出包含文件夹时,该文件就在那里,但在这个特定的工作副本中,它似乎“丢失在空间中”。

svn status 报告没有变化(所以甚至没有丢失的文件)

svn update 什么都不做

我什至尝试将文件重新导出到我的工作副本,但没有效果。

  • 这里发生了什么?
  • 如何修复工作副本?

如果可能的话,我想避免不得不重新签出整个工作副本。

4

5 回答 5

11

SVN 1.6.1 客户端(包括 TortoiseSVN)有一个错误,文件夹有时会错误地设置为深度“空”。这会导致您描述的症状。(请注意,该文件夹有可能被 svn 1.6.1 设置为“空”,并且即使您同时已经升级到更新的 svn 客户端,它仍然保持这种状态。)

要修复它,请使用 TortoiseSVN 中的“更新到修订”菜单项并选择深度“完全递归”。

于 2009-11-10T23:33:28.447 回答
3

你应该:

  • 验证您正在更新到正确的修订版,并且您正在更新当前项目及其所有后代......类似于svn update --revision HEAD --depth infinity
  • 清理并重svn cleanup
于 2009-11-10T23:15:07.370 回答
2

首先,检查 subversion 是否与您所做的工作副本中的内容相同,与svn info文件所在的目录中的内容相同。URL 是正确的分支吗?

接下来,检查您正在进行哪些未提交的更改svn update。也许有什么东西删除了那个文件?如果是这样,只需还原 delete: svn revert <file>

接下来(在确保您已保存在此目录中更改的任何内容的副本之后),您可以简单地对整个目录进行核对并重新获取它:cd ..; rm -rf dir; svn update dir. 那应该重新创建目录,其中包含您的文件。

于 2009-11-10T23:12:42.360 回答
2

我也有这个错误。问题当然存在于相关文件的.svn目录中。尝试将这个.svn目录替换为对应的新(部分)结帐目录。

于 2009-11-10T23:15:29.913 回答
-1

尝试仅从本地结帐中删除该特定文件,然后再次进行更新。

于 2009-11-10T23:11:03.143 回答