簡體   English   中英

將github存儲庫嵌入水銀(窯)存儲庫中-它的集成程度如何?

[英]Embedding a github repository inside a mercurial (kiln) repository - how integrated is it?

總結的問題:

github托管的子存儲庫是否可以在汞/窯存儲庫中使用,如果可以,當通過hg clonehg commit命令對父汞存儲庫進行操作時,它們是否可以自動更新/克隆?

詳細問題:

從我的問題在這里得到了很好的回答之后,我的一些第三方代碼在我不久前從github上的開源工作下載的文件夾中。 因為在那個階段我沒有使用版本控制,所以那些文件夾中只有標准文件夾,而現在這些標准文件夾已被合並為Mercurial的子存儲庫。

這顯然是不理想的,因為一方面,新版本的庫可能已修復了錯誤,或者我希望將來使用新功能。 我可能還需要在本地自定義一些庫。

通過閱讀此鏈接 ,我可以了解到有關那些git服務器url(和修訂版)的信息,因此我可以直接從其父存儲庫中克隆github托管的庫。

我的意思是,當我克隆父(水銀)存儲庫時,這些文件將從github上拉出,而不必使用git單獨進行管理?

還不清楚的是,如果我這樣做的話,可能會發現代碼可能需要從該github克隆的存儲庫中進行自定義,我是否需要使用git來管理本地文件的修訂,還是由Merurial做?通過代理? 例如id我要hg commit -S mercurial代表我調用git來處理嗎?

我的意思是,當我克隆父(水銀)存儲庫時,這些文件將從github上拉出,而不必使用git單獨進行管理?

是的,包含子存儲庫的Mercurial存儲庫的克隆也會觸發該子存儲庫的克隆。 它確實發生在更新上 Mercurial會注意到.hgsub文件,並為您發出所需的hg clonegit clone命令。 它使用.hgsubstate的信息確切了解要簽出的修訂版本。

子存儲庫可以托管在任何地方。 對於聲明為的Git子存儲庫

foo = [git]https://github.com/user/repo.git

Mercurial只會發出相應的克隆命令:

git clone https://github.com/user/repo.git foo

然后,您有責任稍后進入foo庫並根據需要使用Git提取新的提交。 提取/拉出新提交后,可以進行頂層提交,以在.hgsubstate文件中記錄子存儲庫的新狀態。 使用hg summary可以查看子倉庫在這種意義上是否臟。

[...]我需要使用git來管理本地文件的修訂,還是由mercurial通過代理來完成? 例如id我要hg commit -S mercurial代表我調用git來處理嗎?

當您編輯文件並進行頂級hg commit ,Mercurial將確保首先提交subrepo(如果使用hg commit -Sui.commitsubrepos=True )。 如果您進行頂級推送,那么Mercurial將始終首先推送子倉庫,以便您在服務器上始終具有一組一致的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM