例を作成するために行った手順は次のとおりです。
MainRepo
BitBucketで作成
SubRepo
BitBucketで作成
- クローン
MainRepo
SubRepo
のサブディレクトリとしてクローンを作成するMainRepo
.hgsub
内容を含むファイルを手動で作成しますSubRepo = ../SubRepo
.hgsub
ファイルをに追加しMainRepo
、コミットしてプッシュします
SubRepo2
BitBucketで作成
SubRepo2
のサブディレクトリとしてクローンを作成するMainRepo
- 手動で編集
.hgsub
して追加SubRepo2 = ../SubRepo2
- コミットして
MainRepo
もう一度プッシュ
それ以降、2つのサブリポジトリのいずれかを編集して、ワークベンチで見るとそれらが変更されていることを確認できましMainRepo
た。次に、サブリポジトリへの変更をコミットし、サブリポジトリの状態をコミットして、MainRepo
3つのリポジトリすべてを1回のプッシュでプッシュできます。MainRepo
他の質問()でTortoiseHgによって設定されたとあなたが言った方法はsubrepo = subrepo
、BitBucketの構造がどのようであるかにより、動作しません。私はあなたがこのようにトップレベルでのみリポジトリを持つことができると思います:
bitbucket.org/SteveKaye/MainRepo
bitbucket.org/SteveKaye/SubRepo
一方、ラインを持つことは、subrepo = subrepo
次のような構造を設定しようとしています。
bitbucket.org/SteveKaye/MainRepo
bitbucket.org/SteveKaye/MainRepo/SubRepo
これをプッシュすると、プッシュしようとしているように見えます。これにより、表示されている無関係のリポジトリエラーメッセージが説明されますSubRepo
。MainRepo
構文は、equalsの.hgsub
左側がリポジトリーのある作業コピー内のフォルダーを定義し、equalsの右側がそれを取得する場所を定義するようなものです。等号の権利が相対パスである場合、サブリポジトリがメインリポジトリに対して中央サーバー上のどこにあるかを定義します。したがって、上記の例では、1つのフォルダーに移動するbitbucket.org/SteveKaye
と、SubRepo
はそのフォルダーに含まれます。
ドキュメントには次のように書かれています。
Mercurialリポジトリのソースパスは、相対パスまたは絶対パスまたはURLのいずれかです。一般に、ソースパスが作業ディレクトリパスと同じであるトリビアル相対パスを使用することをお勧めします。これにより、サブリポジトリが常に「所定の場所」にあることが保証されます。
中央リポジトリまたはホスティングサービスの制限などのために、サブリポジトリを「インプレースで」ホストできない場合は、他の相対パスを使用できます。このような重要な相対パスを使用した結果、クローンを複製できなくなります。
これは、BitBucketを使用しているときの状況に関連しているように見えます。最後の文で述べているように、クローンを複製することはできないと思います。