2008-12-23 19 views
0

如果我在trunk中修改了3個不同的文件,分別是修訂版本40,45和47,這些文件自修訂版本15以來都沒有改變過,我怎樣才能將這些修訂版本合併到分支中(在版本30和)因此,我可以獲得每個文件的15和40,45和47之間的變化嗎?如果您將一組特定的修訂版本從trunk中合併到帶有subversion的分支中,會發生什麼情況?

在中間修訂(顯然)做了其他更改,但它們不影響有問題的文件,我不希望這些更改顯示在分支中。

回答

1

如果您只對這些提交中的文件進行了更改,那麼請繼續併合並這些修訂版本號。如果其他文件在這些提交中發生了變化,並且您不想進行這些更改,那麼我可能會繼續並進行合併,然後還原您不想修改的文件的更改,然後執行提交。

0

在我們的系統中,我們不斷地這樣合併。大多數情況下,一切都很好。

你可以在所有三個修訂版本上運行合併,只要這些修改不相互依賴,你就都很好。

使用TortoiseSVN可以很容易,因爲您可以簡單地指定40,45,47作爲範圍匹配。否則,只需爲每個修訂語句分別發出svn merge,並將它們放在一起。

如果您未進行的更改會影響相同的行,則會發生合併衝突。這是最好的情況,因爲這意味着您需要立即着手解決衝突。但是,與往常一樣,僅僅因爲它不是衝突,並不意味着在編譯/運行時你不會得到一些邏輯錯誤。

我個人做了幾百個這樣的一週,全都用自動化腳本。由於我們的代碼是如何構建的(一個大型存儲庫,大多數更改不會影響相同的文件),我們每週只會遇到一些衝突。

相關問題