gpt4 book ai didi

git - 如何处理转换为 Mercurial 的仓库中的 Git 子模块

转载 作者:太空狗 更新时间:2023-10-29 12:46:15 25 4
gpt4 key购买 nike

这里是:

$ 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 存储库,但我需要运行 git submodule init,之后会发生一些神奇的事情。由于我现在已经将存储库转换为 Mercurial(使用 hgext.git 扩展),我不知道该怎么做。是否有等效的过程(我的 Mercurial 存储库中需要这 2 个 Git 模块)?

最佳答案

Mercurial 支持 subrepositories不同种类:Mercurial、Subversion 和 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 克隆时要从子存储库 check out 哪个修订版。

我的一位同事写了一篇 subrepository guide您可能会觉得有用。

关于git - 如何处理转换为 Mercurial 的仓库中的 Git 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5612337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com