21

ライブラリとしてリンクするのではなく、別のプロジェクトのソースを直接含む非常に古いプロジェクトがあります。悪い時代に、私がすべてをCVSに保持していたとき、私はベンダーのブランチに外部コードを持っていて、定期的にインポートを行いました。私のプロジェクトがgitになっているので、外部プロジェクトをサブモジュールとして含める方が理にかなっています。しかし、問題があります。外部プロジェクトがMercurialに移行しました。git-hgプロジェクトとhg-gitプロジェクトを見つけましたが、どちらかがサブモジュールを適切に処理するかどうかはわかりません。

gitリポジトリの代わりにHgリポジトリを指すgitサブモジュールを作成する方法はありますか?

4

1 に答える 1

12

hg-gitにはサブモジュールがまだサポートされていないことが記載されているため、手動オプションのみが残ります。

  • プッシュ アクセスできる場所に Git リポジトリをセットアップします。
  • それをGitリモートとして追加してから
  • プロジェクト内から実行hg gpushします。

例えば:

$ cd hg-git # (an Hg repository)
$ hg gremote add origin git@github.com/schacon/hg-git.git
$ hg gpush

その Git リポジトリはサブモジュールを表しますが、そのサブモジュールを変更してプッシュすると、その Git リポジトリから実際の Hg リポジトリにプルする必要があります。

他の優れた git-hg コマンドは、この「ロゼッタ ストーン」にリストされています。

于 2009-07-02T05:59:59.233 に答える