我们在包含相同子目录结构的 SVN 存储库中有 2 个目录。作为我们(原始)部署脚本的一部分,我们将第一个 svn 导出到本地目录,然后将第二个 svn 导出到同一个本地目录:
repo/project/trunk/dir1/
repo/project/trunk/dir1/a/
repo/project/trunk/dir1/a/foo.txt
repo/project/trunk/dir2/
repo/project/trunk/dir2/a/
repo/project/trunk/dir2/a/foo.txt
在我们的场景中,dir1 是一些文件的生产版本,而 dir2 和对那些尚未由开发团队发布的文件的待定更改。因此,我们希望 svn export 覆盖磁盘上的文件。
svn export 不会填充现有目录;--force 标志是必需的。svn export --force 不会填充现有目录,它会完全重新创建目录。因此,我们的第二个 svn 导出破坏了 dir1 的本地导出,只剩下 dir2 的内容。
有什么方法可以让 svn export 做我们想做的事——从 dir1 获取文件,将它们放在本地目录中,然后将 dir2 的内容覆盖在 dir1 之上?