2012-07-27 70 views
1

我從互聯網分出了一個項目,我想寫一些新的功能。我想同時編寫幾個正交的特性(例如,調試助手,新特性X,新特性Y),並且在我當前的目錄中有所有這些特性的代碼,但是當我提交時,我希望能夠說「這些文件轉到分支'調試'」,「這些文件轉到分支'功能X'」等等。這些是'hg分支'意義上的分支。我可以一次結帳並提交給幾個Mercurial hg分支嗎?

原因是項目上游可能不想合併我的調試幫助程序或黑客修復錯誤,但我當然想在開發我的功能時使用它們。

實際上,我只是想將這些文件中的更改應用到分支,但保留多個分支檢出&合併到我當前的工作目錄。

這可能嗎?也許有一些宏擴展可以做到這一點?

謝謝!

回答

1

請參閱mercurial queues (MQ)瞭解諸如調試助手或本地攻擊等內容。對於只在本地想要的修補程序非常有用,並且可能希望應用於任何修訂/分支。

做連理枝一樣的東西變得乏味恕我直言,你必須非常小心地做調試的變化和特點上的不同分支,然後在將它們合併到一個地方,一次性分公司以運行任何。您最終可能會在功能分支上出現大量變更集,導致樹處於故障狀態,因爲您只能在提交後進行測試。

+0

MQ正是我所期待的,謝謝! – ACyclic 2012-08-07 12:34:44

0

我不完全明白你爲什麼想要這樣做。如果你的特徵是正交的,你可以獨立處理它們,直到它們準備好被合併爲止。畢竟這正是分支機構所需要的!

但是,爲了回答你的問題。你可以commit一個分支,然後,工作流程的問題,總是up違約,並merge它這將保持默認分支爲其他功能的總和。在提交之前,您需要將update添加到特性分支中,儘管這可能會很乏味。

其他選項確定要提交的分支是使用rebase擴展名。在這種情況下,您會提交更改,然後執行hg rebase -d targetBranch

雖然我不建議使用歷史修訂作爲標準工作流的一部分。這聞起來給我。

相關問題