簡體   English   中英

如何處理轉換為Mercurial的repo上的Git子模塊

[英]How to deal with Git submodules on a repo that is converted to Mercurial

開始:

$ cat .gitmodules 
[submodule "utils/external/firepython"]
    path = utils/external/firepython
    url = git://github.com/darwin/firepython.git
[submodule "utils/external/textile"]
    path = utils/external/textile
    url = git://github.com/jsamsa/python-textile.git

雖然這仍然是一個Git repo,但我需要運行git submodule init ,之后會發生一些魔法。 由於我現在將回購轉換為Mercurial(使用hgext.git擴展名),我不知道該怎么做。 是否有一個等效的過程(我需要在我的Mercurial倉庫中使用這兩個Git模塊)?

水銀支持subrepositories不同種類的:水銀,顛覆,和Git。 所以你可以創建一個.hgsub文件

utils/external/firepython = [git]git://github.com/darwin/firepython.git
utils/external/textile    = [git]git://github.com/jsamsa/python-textile.git

這將告知Mercurial在克隆Mercurial存儲庫時克隆您的Git存儲庫。 您需要第一次自己制作Git克隆,或者從磁盤上的其他位置復制它們:

$ git clone git://github.com/darwin/firepython.git utils/external/firepython
$ git clone git://github.com/jsamsa/python-textile.git utils/external/textile
$ hg add .hgsub
$ hg commit -m 'Added Git subrepositories'

然后,您將注意到Mercurial已將.hgsubstate文件添加到您的存儲庫,在該存儲庫中存儲有關Git子存儲庫的信息。 需要此文件,以便Mercurial在您創建新的Mercurial克隆時知道要從子存儲庫中檢出的修訂版本。

我的一位同事編寫了一個您可能覺得有用的子庫存指南

暫無
暫無

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

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