[英]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.