我有一个目录结构,其中包含一堆应用程序的配置文件。该结构在 Subversion 中维护,然后一些系统检查了该目录结构。开发人员对存储库中的结构进行更改,服务器上的脚本只是定期运行“svn 更新”。
但是,有时我们有些人会无意中删除其中一个目录下的 .svn 目录,或者将不属于的文件放入其中。我尽我所能切断程序不忠者的手,但我仍然希望我的更新脚本能够优雅地(嗯,自动地)处理这些更改。
所以,我需要的是一种删除不在颠覆中的文件的方法,以及一种继续并踩在本地目录上的方法,该目录妨碍存储库中的某些内容。所以,像这样的警告
Fetching external item into '/path/to/a/dir'
svn: warning: '/path/to/a/dir' is not a working copy
和
Fetching external item into '/path/to/another/dir'
svn: warning: Failed to add directory '/path/to/another/dir': an unversioned directory of the same name already exists
应该会自动解决。
我担心我必须在脚本中解析 svn 状态输出,或者使用 svn C API 并编写我自己的“清理”程序来完成这项工作(是的,它必须以这种方式工作;rsync / tar + scp,以及由于各种原因而无法选择的任何其他选项)。但是,如果有人有解决该问题的解决方案(或部分解决方案),我将不胜感激。:)