2016-03-12 75 views
0

說我克隆遠程倉庫,並把它稱爲「A」
後來我克隆另一個遠程倉庫,並把它稱爲「B」水銀 - 克隆後拉變化

「B」.hg文件夾和src文件夾,以及「A」只有.hg文件夾。

如果我拉從「B」「A」變化,現在應該「A」還包含src文件夾?因爲這正是我所做的,它沒有

+0

A和B是否從完全不相關的存儲庫或同一存儲庫的分叉中克隆出來? – Nanhydrin

回答

0

您可以將'repository'的概念與工作目錄(實際檢出的更改集)混合起來,該更改集指示特定版本中存儲庫的狀態。

如果兩個儲存一個被拉入一個倉庫,所有的變更都存在那裏,但它們存在於不同的變更。如果你想把它們放在一起,你必須合併兩個變更集;最有可能的是你想合併你的兩個頭,一個來自知識庫A,另一個來自知識庫B。例如:

# check heads: 
hg heads --template="{rev}:{node|short} {desc}\n" 
2332:d69c8aaf6db6 Doc: Changelog as it should have been 
2128:6f38df710194 Added tag 0.2.5 for changeset 6d89bb9ad3f6 

更新到一個頭,然後合併另一個。請務必使用實際的修訂:

hg up -r2332 
hg merge -r2128 

與否,沒有任何衝突的工作取決於如何一個樣子。

0

src是否包含任何文件?您不能將一個空目錄添加到mercurial repo。如果您嘗試hg add srcsrc爲空,您將不會收到錯誤,但沒有任何反應。如果這真的是你想要的,there are ways,但它聽起來像你只是試驗。

更具體地說:您只能添加文件,而隱含地添加包含它們的目錄。在src,add中創建文件後,將文件轉儲到repo和commit之後(以及其他任何您可能想要帶來的更改)。現在你有一個變更集,你可以推動或拉到存儲庫「B」。

一旦變更已經成爲「B」的歷史(與hg log檢查),你需要更新它(hg update)的一部分;或者,如果您已經結束了分支,請將其合併到當前分支。