例を作成するために行った手順は次のとおりです。
MainRepoBitBucketで作成
SubRepoBitBucketで作成
- クローン
MainRepo
SubRepoのサブディレクトリとしてクローンを作成するMainRepo
.hgsub内容を含むファイルを手動で作成しますSubRepo = ../SubRepo
.hgsubファイルをに追加しMainRepo、コミットしてプッシュします
SubRepo2BitBucketで作成
SubRepo2のサブディレクトリとしてクローンを作成するMainRepo
- 手動で編集
.hgsubして追加SubRepo2 = ../SubRepo2
- コミットして
MainRepoもう一度プッシュ
それ以降、2つのサブリポジトリのいずれかを編集して、ワークベンチで見るとそれらが変更されていることを確認できましMainRepoた。次に、サブリポジトリへの変更をコミットし、サブリポジトリの状態をコミットして、MainRepo3つのリポジトリすべてを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を使用しているときの状況に関連しているように見えます。最後の文で述べているように、クローンを複製することはできないと思います。