2010-03-04 81 views
2

我正在考慮從SVN到汞開關,目前也有利於項目的Foo典型SVN佈局:Mercurial中的跨庫合併?

Foo 
    trunk 
    branches 
    1.0 
    1.1 

我可以用hg import命令導入這個結構導入汞,創造軀幹和兩個獨立的存儲設備分支機構(通過使用--config convert.hg.clonebranches=1導入開關。)

現在,如果客戶在Foo的v1.0中發現了一個錯誤,我該如何將此修復應用到1.1和主幹存儲庫?他們是老枝SVN的單獨副本,以便hg merge是行不通的是什麼呢?

如果我從頭開始一個新的項目汞,然後我可以使用標籤的不同版本,並輕鬆地將變化從一個標籤合併到另一個,但我從SVN導入沒有這種奢侈品......或我錯過了什麼嗎?

+0

檢查我的問題和答案http://stackoverflow.com/questions/6709365/how-to-move-bugfixes-across-branches-in-dvcs – gavenkoa

回答

1

我喜歡hg transplanttransplant extension homepage)本:這將需要提交和地方移動。 -s選項可讓您將其從一個回購站移到另一個回購站。

你也可以指定一個合併的事情發生,和單修訂,多個版本,或把它火起來的「互動變更選擇」(知道是什麼意思)。 (雖然我沒有試過回購之間的合併選項...但我知道,指定變更工作好了!)

+1

hg移植不是一個很好的選擇,因爲那麼你有相同的用兩個不同的哈希ID進行更改。在這種情況下,他應該能夠在它們之間拉/推,然後合併。 –

1

您應該能夠正常使用推/拉合併到什麼變化來回。轉換足夠聰明,1.0和1.1中相同的部分將是相同的變更集。因此,在1.0中進行更改,您應該能夠將它拉到1.1和main並乾淨地合併。

如果你認爲你會從1.1和主要被進入1.0,只是hg update爲您進行更改所知道的是在1.0 前的變更,你就可以乾淨地拉和合並,在1.0也是。