10

ここに行きます:

$ 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 モジュールが必要です)?

4

1 に答える 1

13

Mercurial は、さまざまな種類のサブリポジトリ (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 リポジトリのクローンが作成されたときに、Git リポジトリのクローンを作成するように Mercurial に通知されます。最初に 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'

.hgsubstate次に、Mercurial がGit サブリポジトリに関する情報を格納するリポジトリにファイルを追加したことに注意してください。このファイルは、新しい Mercurial クローンを作成するときに、サブリポジトリからチェックアウトするリビジョンを Mercurial が認識できるようにするために必要です。

私の同僚が、役に立つかもしれないサブリポジトリ ガイドを書いています。

于 2011-04-10T16:08:55.493 に答える