【问题标题】:Reverting changes made to external in Subversion在 Subversion 中恢复对外部所做的更改
【发布时间】:2014-07-15 21:46:10
【问题描述】:

我的 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 恢复目录?

【问题讨论】:

标签: svn revert


【解决方案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

【讨论】:

    【解决方案2】:

    只需更新声明外部属性的基目录:

    svn update ~/Code/project
    

    Subversion 会注意到外部已过期/丢失并重新实例化所有内容。

    【讨论】:

    • 澄清一下,这是在您的第二种情况下删除外部文件夹之后。
    猜你喜欢
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2016-11-12
    相关资源
    最近更新 更多