2011-10-08 35 views
3

我是一個hg用戶,因爲一對夫婦多年,我爲此感到高興!Mercurial通用/本地文件

我必須像以前從未做過的那樣開始一個項目。 這個想法是開發一個批處理模式和GUI的軟件。

因此,批處理和GUI模式都會有共同的來源,但每個模式也會包含特定的來源。 而且,基本上,我希望我的同事能夠克隆GUI版本,並在其上進行提交更改。 然後,我想能夠將它們對通用文件的更改與批處理版本合併。

我該如何處理?

由於我一直在閱讀這個主題,我非常感謝任何幫助!

謝謝。 binoua

+0

如果你是絕對反對的所有來源混合在一個項目中,並管理與多個項目文件的差別(我不知道你使用的是哪種項目系統),你有沒有考慮過子回購?將所有常用文件放在一個子倉庫中,並創建兩個新倉庫,包括普通倉庫? –

+0

@Lasse:走過標籤,我想他已經只想知道它是否會/如何工作。 –

回答

2

作爲subrepos的創建者,我強烈建議使用針對,使用subrepos爲此。

儘管subrepos可用於將較大的項目分解爲較小的部分,但子部分涉及的額外複雜性和脆弱性通常會超過這些好處。除非你的項目將會是真的大,否則你應該堅持一個項目回購簡單。

那麼,subrepos是什麼呢? Subrepos最適合管理其他獨立項目的集合。比如說,假設你正在構建一個大型的GUI工具來包裝現有的SCM。我建議你構建它是這樣的:

scm-gui-build/ <- master build repo with subrepos: 
    scm-gui/  <- independent repo for all the code in your GUI tool 
    scm/   <- repo for the third-party SCM itself 
    gui-toolkit/ <- a third-party GUI toolkit you depend on 
    extensions/ <- some third-party extension to bundle 
    extension-foo/ 

在這裏,你做你在一個普通的老回購(SCM-GUI)的所有工作,但使用一個主回購在更高層次來管理建築/包裝/版本控制/標記/釋放整個集合。主scm-gui-build repo只是其他正常回購的簡單包裝,這意味着如果某件事情中斷(比如其中一個回購網址脫機),您可以繼續在您的項目中正常工作。

(參見:https://www.mercurial-scm.org/wiki/Subrepository#Recommendations

+0

謝謝你的回答。所以,如果我理解你,沒有適當的方法能夠克隆只有GUI回購或只批量回購? – blaurent

+0

這不是我所說的。再讀第二段。你可以把你的項目分解成subrepos,但這並不意味着你應該這樣做。 – mpm