我的Subversion存储库有几个外部,其中一个我正在使用。我不小心删除了我需要的几个文件,所以我去了它们:
$ svn revert -R ~/Code/project/external1
Skipped '~/Code/project/external1'
我觉得这很奇怪,所以我尝试删除整个目录:
$ rm ~/Code/project/external1 -r
$ svn revert -R ~/Code/project/external1
Skipped '~/Code/project/external1'
Subversion似乎并不想进入外部。在我轻率考虑的第二种情况下,如何在理想的第一种情况和中使Subversion恢复目录?
答案 0 :(得分:1)
只需更新声明外部属性的基目录:
svn update ~/Code/project
Subversion会注意到外部已过期/缺失并重新实例化所有内容。
答案 1 :(得分:1)
每个外部目录基本上都是它自己的独立工作副本。看起来SVN不喜欢从外部工作副本上的真实工作副本中进行操作。因此,只需利用底层机制并使用外部工作副本:
cd ~/Code/project/external1
svn revert -R .
或直接从当前文件夹(非常适合脚本)
svn revert -R .
svn revert -R ./External_a
svn revert -R ./External_b
svn revert -R ./External_c/sub_external_i
svn revert -R ./External_c/sub_external_j