我在Windows 7平台(所有64位)上使用Subversion命令行工具的1.8.10版和TortoiseSVN的1.8.8.25755版。如何在两个分支之间应用Subversion补丁
我公司的代码在每个版本中都保存在单独的分支中。二月份发布的代码将在分支1中发布; 4月份发布的代码将在分支2中发布。在2月发布之后,我想比较branch2中的代码和branch1中的代码,以确保两者之间不会发生任何更改,并创建一个修补程序文件,该修补程序文件将修改branch2与branch1具有相同的内容。
我能够使用SVN命令行工具来创建使用补丁文件:
svn diff --old=branch1 --new=branch2 > differences.diff
问题的表面,当我尝试应用补丁文件。使用一个非常基本的命令应用补丁:
svn patch differences.diff c:\temp\branch1
结果没有改变BRANCH1。
svn patch --help
表示我应该期望在屏幕上看到生成的输出行,指示是应用还是拒绝了更改;我看到绝对没有输出。 --help
也表示补丁文件应该有一行指示修补程序可以干净地应用到的分支的修订版本,并给出该行的格式。我的补丁文件不包含符合规定格式的行。
(我也曾尝试将使用TortoiseSVN的补丁,但是龟似乎有些特别,因为它仅适用龟生成的补丁。)
我的问题的话,是有一些魔法应用补丁我没有看到的文件?或者,我的命令是否正确生成补丁文件?或者,我试图完成什么(修补WC2看起来像WC1)根本不支持?
TIA为您提供任何帮助/指导。
在修补之前,您已阅读过'differences.diff'的内容吗?它是否有效补丁? –
这是我第一次尝试创建.diff文件,所以我不是专家,但从我在网上找到的东西看,它看起来像一个有效的补丁......除了我在OP中提到的那行外, (根据--help)应该存在,以指示哪个分支可以干净地应用补丁。 – kenfrmct