我刚刚遇到了一件关于svn的奇怪情况。我的一个文件在工作副本中似乎“丢失”了。当我查看服务器或在其他位置进行包含该文件夹的全新检出时,该文件是存在的,但在这个特定的工作副本中似乎“消失了”。
svn状态报告没有任何更改(甚至没有缺少的文件)
svn更新没有任何效果
我甚至尝试重新将文件导出到我的工作副本中,但没有效果。
- 这里发生了什么?
- 如何修复工作副本?
如果可能的话,我想避免不得不全新检出整个工作副本。
我刚刚遇到了一件关于svn的奇怪情况。我的一个文件在工作副本中似乎“丢失”了。当我查看服务器或在其他位置进行包含该文件夹的全新检出时,该文件是存在的,但在这个特定的工作副本中似乎“消失了”。
svn状态报告没有任何更改(甚至没有缺少的文件)
svn更新没有任何效果
我甚至尝试重新将文件导出到我的工作副本中,但没有效果。
如果可能的话,我想避免不得不全新检出整个工作副本。
SVN 1.6.1 客户端(包括TortoiseSVN)存在一种错误,有时会错误地将文件夹设置为深度“empty”。这会导致您所描述的症状。(请注意,可能是svn 1.6.1将文件夹设为“empty”,即使您已经升级到更新的svn客户端,文件夹仍保持为空。)
要解决此问题,请使用TortoiseSVN中的“更新到修订版本”菜单项,并选择深度“fully recursive(完全递归)”。
您应该:
svn update --revision HEAD --depth infinity
svn cleanup
进行清理,然后重试svn info
命令,检查subversion是否与您对工作副本的了解相同。URL是否为正确的分支?svn update
命令检查未提交的更改情况。也许有些东西删除了那个文件?如果是这样,只需还原删除操作:svn revert <file>
。cd ..; rm -rf dir; svn update dir
。这将重新创建该目录,并包含您的文件。尝试仅从您的本地检出中删除该特定文件,然后再次更新。
--revision HEAD
也是不必要的。 - Wim Coenenset-depth
将使深度更改变得粘性,因此对于这个问题加1! :) - Miguel Venturasvn update --revision PREV
。它添加了所有缺失的文件。然后跟着执行svn update
来获取最新版本。 - Nufail