replace颠覆监视的目录

我们正试图更新一个我们在颠覆的控制下安装的软件。 软件的更新说明需要replace其中有.svn目录的几个目录。

由于我们不能直接replace这些目录,所以我一直试图想出一种方法来replace这些目录的内容(和recursion的所有子目录的内容),而不是目录本身。 我认为必须有一个解决scheme使用cp标志的组合,但我无法弄清楚这个组合是什么。

我看着使用cp -aR目录/ existing_directory / ,但是我不能使用-a,因为时间戳不会被更新信任。 我没有问题,replace所有的文件。 此外,我不相信递减的斜杠将通过子目录进行。

如果有人能引导我走向正确的方向,我将不胜感激。 谢谢!

这听起来很乱。 当你删除.svn目录时,Subversion会感到不安。

我会这样做的方式是创build一个副本,从副本中删除所有.svn目录,运行副本上的升级,然后使用rsync将副本中的所有更改复制到原始。

序列应该是这样的:

 cp -R software/ software-copy/ cd software-copy/ find . -type d -name .svn -delete ./upgrade-script.sh cd .. rsync -avtl software-copy/ software/ 

你可以添加-n到那些rsync选项,如果你想做一个干运行,看看什么被复制,而没有真正做到这一点。