如何恢复SVN工作副本中的ONLY目录?

Rus*_*hyo 17 svn directory recursion properties revert

我想恢复SVN工作副本中的目录和所有子目录,以便它们与存储库匹配,但我不想触摸这些目录中的任何文件.

我的一个SVN应用程序递归地在我的工作副本中的每个目录上设置了一个SVN属性,但我想恢复这些更改以阻止它突出显示它们并尝试将更改提交给SVN属性.简单地改变它以匹配HEAD是行不通的.

有任何想法吗?我已经阅读了各种SVN资源,但它们似乎都没有处理这种边缘情况.

小智 105

适用于所有平台:

svn revert . --recursive
Run Code Online (Sandbox Code Playgroud)

(请注意,这将恢复所有内容,而不仅仅是目录.)

  • 由于mods拒绝删除这个:***如果你有我的问题或者你将破坏你的工作副本,请不要这样做*** (11认同)
  • 如果我们需要更多的证据证明人们基于对实际工作的代码的漂亮而进行投票.哇. (4认同)
  • @Petrucio这不也会触摸文件吗?我不想递归还原当前目录下的所有内容,只需要还原目录.引用Greg Stein的话:"但是目录上的递归恢复可以比你想象的还要多得多(把所有本地mod都扔到它下面的所有文件和目录下)." 假设适用的最终结果将是我的工作副本的完全销毁.哎呀. (2认同)

Eug*_*ash 9

您可以find结合使用svn revert:

find . -type d | grep -v .svn | xargs svn revert
Run Code Online (Sandbox Code Playgroud)

除非您使用该-R选项(相当于--depth=infinity),否则不会触及目录中的任何文件.