svn:忘记已删除的文件

svn:忘记已删除的文件,svn,Svn,我在一份svn工作副本中做了以下工作: sheep@sheepbox# gvim Dual_On_Off_Model.h sheep@sheepbox# gvim Dual_On_Off_Model.cpp (... made the files, saved them ...) sheep@sheepbox# svn add Dual_On_Off_Model.* sheep@sheepbox# svn st M Multiple_On_Off_Model.h A Dual_On_

我在一份svn工作副本中做了以下工作:

sheep@sheepbox# gvim Dual_On_Off_Model.h
sheep@sheepbox# gvim Dual_On_Off_Model.cpp
(... made the files, saved them ...)
sheep@sheepbox# svn add Dual_On_Off_Model.*
sheep@sheepbox# svn st
M    Multiple_On_Off_Model.h
A    Dual_On_Off_Model.h
A    Dual_On_Off_Model.cpp
sheep@sheepbox# rm Dual_On_Off_Model.*    <- Stupid on my part, but discovered
                                          <-  I didn't need the class
基本上,我没有使用svn rm就从我的工作副本中删除了这些文件,现在svn因为找不到这些文件而变得疯狂

由于我不需要双开双关模式。*而且它们现在已经进入了天空中的大硬盘,有没有办法让工作副本上的a停止对我大喊大叫?

只需重新添加文件(或使用这些名称的空文件),然后使用svn rm删除它们。

编辑时间:

使用:


svn-R。


它将还原为您作为本地副本拥有的svn修订版。

svn revert*
失败,因为
*
扩展到目录中的每个文件,并且您需要还原不再在目录中的文件。尝试
svn恢复双开双关模式。改为h双开双关模式。cpp

要完全还原所有内容,可以使用一些bash fu:

svn status | awk '{print $2}' | xargs svn revert

svn status
输出的每一行中抓取第二个单词(假设文件名中没有空格…),然后将它们作为参数传递给
svn revert

我从Josh Kelley的回答中得到启发:

svn st | awk '$1 == "!" {print $2}' | xargs svn revert

应该修复存在此问题的整个树。

抱歉,忘记了:尝试使用-R选项(我还更正了答案文本)这对我的方案有效,但对于我删除的目录,它没有还原.svn子目录(尽管它确实还原了实际文件,这很奇怪)。这意味着当我运行svn status时,它在这些目录旁边给出了一个“?”。我删除了有问题的目录(使用rm-rf)并运行了svn,一切都恢复正常。@Manuel Aldana-尝试了你修改过的答案,肯定有效。再次发布,您将被选为最佳答案,因为它不需要bash-fu或创建文件。
svn st | awk '$1 == "!" {print $2}' | xargs svn revert