2011-06-21 55 views
1

我想要一個存儲庫,這是我用於幾個項目的框架。我希望能夠克隆框架,然後將該克隆製作成一個全新的項目。我還希望仍然能夠從框架中推送變更集,儘管它不是祕密。從另一個克隆創建新的HG項目

+0

簡單的克隆會不會完成這個?更改可以從框架中移除。 –

+0

@Charles我想讓他們以某種方式分離。我計劃在這個框架中有幾個克隆,這些克隆將成爲完全無關的項目。 – GSto

+0

您是否打算/想要在克隆之後或者僅僅從原始和新項目發送更改到框架代碼? –

回答

0

您可以使用正常的hg clone操作克隆存儲庫。

hg push的默認路徑將是您從中克隆的位置,但您可以愉快地做一個hg push <other_loc>

如果我懷疑您想要設置默認路徑並推出新的東西,您可以簡單地編輯.hg/hgrc[paths]部分。例如,如果你開始使用此:

[paths] 
default = ssh://[email protected]/myrepo 

你可以把它改成

[paths] 
default = ssh://[email protected]/mynewrepo 
source = ssh://[email protected]/myrepo 

這樣你就可以從source如果需要的話拉。

你甚至可以配置不同的默認推拉路徑,如記錄here

2

我假設你想改變的唯一框架,文件推送到框架回購,當然你不希望其他項目特定的更改被推送。

如果您能夠將框架代碼作爲單獨的實體使用,並且只將#include(使用C++術語)到您的項目代碼中,那麼我會建議查看subrepos。

將框架設置爲subrepo意味着您的新項目將包含框架作爲子目錄。如果你的一個項目更新了框架,你可以推動那個subrepo,並把它放到其他項目中,這意味着它們都可以使用最新版本,或者鎖定到特定版本的框架。

documentation介紹了它是如何工作的,或者可能有一些有用的提示在StackOverflow上設置它們。

+0

+1:子庫使得這很容易。 –