2012-04-02 50 views
1

我與具有以下結構的Mercurial庫工作:如何用文件夾替換Mercurial subrepo?

-- Root 
    -- .hgsub 
    -- SubDir 
     -- SubSubDir 
     -- SubRepo 

的.hgsub文件聲明SubRepo如下:

SubDir/SubRepo = ssh://server//subcomponent 

我需要擺脫subrepo的,取而代之的是一個名爲SubRepo的repo中的實際文件夾,所以我做了hg documentation的說明,刪除.hgsub文件並提交。然後我把自己的東西放在SubRepo中,並承諾它,讓我與:

-- Root 
    -- SubDir 
     -- SubSubDir 
     -- SubRepo 

丹迪。但是,當我試圖從一個仍然有.hgsub文件的存儲庫中提取更改時,我遇到了麻煩。

是否有更好的方法來取代subrepository?還是有什麼聰明的我應該做的更好地做這件事,比如使用一個選項來拉或臨時更改我的.hgsub指向一個新的文件夾而不是完全刪除它?

+0

仔細閱讀部分「2.1。開始」關於微不足道的相對路徑和**使用subrepo **與相對路徑 – 2012-04-02 22:49:16

回答

2

你做得對。一旦你從仍然有.hgsub的回購中拉出,你需要合併你的頭(沒有.hgsub)與他們(他們),當你作爲該合併/提交的一部分移除文件時,你會結束只有一個頭沒有.hgsub,並且全部都是正確的。只要你沒有'hg更新'到他們的遠程頭仍然有.hgsub你應該沒問題。

+0

啊哈!這個答案給了我更多的信心。結果發現我遇到的問題是使用獲取(並可能在烏龜中使用它)的副作用。如果我做一個簡單的拉和合並,我不會有同樣的問題。謝謝! =) – 2012-04-03 15:47:33

+0

沒有問題。就我個人而言,我完全避免獲取。提取,更新和合並在DVCS中完全是邏輯上不同的操作,並將三條線索與合併中的痛苦,誤解和蹩腳的提交消息混爲一談。 :) – 2012-04-03 15:51:07

相關問題