2012-06-21 172 views
2

我是一個新手,當談到主幹/分支,所以我的問題是我的愚蠢。SVN從主幹合併到分支

我正在使用Subversion的Eclipse插件。 目前我正在嘗試查看如何工作。

我創建了一個分支,然後回到我的主幹,並對其中一個對象(版本1和現在是版本2)進行了小改動。我承諾它。

我回到我的分支,對象仍然是版本1,並執行合併命令。 我本來期望看到的是,該對象現在位於我的分支中的第2版。 相反,我把它作爲修改後的版本1.

當然,它應該只是「複製」新的,因爲我沒有在我的分支做任何改變。

我甚至選擇了「通過使用傳入版本解決衝突」選項,但我仍然得到相同的結果。

回答

3

這就是應該如此。合併應用一個分支的兩個版本之間的變化(在你的情況下是trunk-rev-1和trunk-rev2)到另一個分支的工作副本。一旦你的工作副本更新了,你可以測試合併是否不會破壞所有東西(編譯正常,單元測試通過等),如果需要手動應用其他更改,然後提交工作副本。這將在存儲庫中創建一個新的修訂版本。

文件在SVN中沒有任何修訂。整個存儲庫從一個修訂版轉到另一個修訂版。

我建議你閱讀免費的SVN book,這很清楚地解釋了什麼。

+0

當我在Eclipse中查看SVN查看器中的文件時,它旁邊有一個修訂版本號。爲什麼我不能指向同一個?通過讓它複製這些變化,我必須提交這些變化,這使我回到了我們擁有同一個文件的兩個版本的情況 - 儘管它們在內容上是相同的。 – theblitz

+0

它顯示的版本是修改(或創建)文件mas的存儲庫的最後修訂版本號。爲什麼你不能指向同一個:因爲這不是SVN的工作原理。 –

+0

但是當我最初創建分支時,我會指向同一個文件。 – theblitz