SVN Diff Export

3
在工作中,我们有一个非常庞大的代码库,通常会将其导出为Web应用程序以确保一切都是最新的。如果我们开发测试代码,通常会在分支中完成,以确保它不会与主干冲突,否则可能会意外地导致错误发布。
我的问题是是否可以仅导出差异而不是整个存储库,否则必须再次导出整个存储库,这需要相当长的时间。例如,假设我们有一个“上次导出”的标志,然后我们比较文件的最后更新日期,并仅导出那些晚于上次导出日期的文件。
这对于内部/互联网系统非常方便,因为需要进行完整的导出以使我们的实时/存储库保持同步。有任何想法吗?
编辑-查看补丁,我看不到如何为已存在于存储库中的文件创建补丁。我们已经提交了文件。因此,我希望从x修订版本创建补丁到头,并将其应用于我的项目根目录,以应用每个单独的差异。但我不确定是否有可能。

总的来说,一个补丁? - Marc Gravell
我不知道,我以前从未使用过补丁,所以我的问题可能很愚蠢 :) - Kieran Senior
2个回答

7
我们曾经做过类似的事情(虽然不是在生产系统中),使用svn diff创建补丁文件,然后使用普通的“patch”命令应用该补丁文件。Svn diff接受修订号,因此您可以生成一个包括从某个集合开始的所有内容的补丁文件。
当然,如果您的文件中有很多二进制文件,则可能无法很好地工作 :-)

幸运的是,我们的二进制文件很少。我假设补丁文件在处理未更改的文件时没有问题,只会使补丁文件变得更大,是吗? - Kieran Senior
补丁文件实际上只是一个制作旧版本文件看起来像新版本所需发生的步骤的配方;没有更改的文件甚至不在补丁中...所以你是对的,那里没有问题。 - Jarret Hardie

1
我们也需要这样的工具。所以我写了一个小的Java工具。
希望对某些人有用:github svn-diff-export

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接