我在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