ある水銀リポジトリは別の水銀リポジトリ内に住むことができますか?
-
03-10-2019 - |
質問
1つのHGリポジトリは、ローカルファイルシステムの別のHGリポジトリ内にライブできますか?
私は「サンドボックス」のためにBitbucket wikiを引き下げています、そして、私はこれをに置くべきかどうか知りたいです repos/sandbox/wiki
また repos/sandbox-wiki
.
前者は大丈夫ですか?
編集:参照 Subrepository.
解決
はいといいえ。あなたがしたいことに依存します。 「サンドボックス/wiki」を作成することはできますが、この内側のレポでファイルは外側の「サンドボックス」リポジトリ(@jasonが正しい)でコミットされません。したくない場合は問題ありません。
SandoxのWiki Reposからファイルを明示的に追加してみてください。以下にメッセージが表示されます。内側のレポを含むいくつかのディレクトリにパスを追加するだけで、ファイルは無視されます。
Sandox Root Directoyから:
hg add wiki/myfile
abort: path 'wiki/myfile' is inside repo 'wiki'
他のヒント
短い答えはイエスですが、なぜあなたがしたいのか想像できません。
あなたの例では、私はあなたが一緒に行くべきだと思います:
repos/sandbox-wiki
編集]追加:
Yo Dowg, I herd you like repositories.
So we put a repo in your repo so you can version while you version
:-)
Mercurialはネストされたリポジトリを許可していませんが、少なくとも1つの理由があります。
あなたがプロジェクトで働いていると想像してください: /myproject。このフォルダーには、コード、ドキュメント、テストなどをすべて配置します。
それは非常に重要であるため、作業をバックアップしたいので、 /myProjectのリポジトリを作成します。次に、残業して、バンドルを使用して /myProjectの進化を保存し、USBフラッシュメモリにバックアップして、ハードドライブが壊れた場合に備えてすべてを回復できるようにします。
/myprojectにはすべてが含まれていることを忘れないでください。そして、それらすべての中には、主要なコードといくつかの補助プロジェクトがあります。また、 /myproject /auxiliaryprojectの補助プロジェクトの進捗状況を追跡するため、Mercurialを使用してその進化を追跡します。
また、メインコードのための個別のリポジトリが必要です: /myproject /main
この状況では、ネストされたリポジトリが必要です。各サブプロジェクトを管理するためのバンドルとチャイルドリポジトリを使用して、すべてをバックアップできるための大きなリポジトリです。
Mercurialは、リポジトリを初期化するときにユーザーにいくつかのオプションを提供する必要があると思います。例: - ネストされたリポジトリを無視 - ネストされたリポジトリを含めますが、.hgフォルダーを無視します(つまり、ネストされたリポジトリがないかのように動作しますが、ネストされたreditoriesに含まれる情報を無視しないでください)。 - ネストされたリポジトリを含め、.hgフォルダーも含めます(バックアップの目的で理にかなっています)
--------編集:Subrepositoriesは進行中の機能です。https://www.mercurial-scm.org/wiki/subrepos
また、将来的に時代遅れになるかもしれない「森」という名前の拡張機能があります。https://www.mercurial-scm.org/forestextension
セットアップする必要があります これは、おそらく価値よりも多くのユーザーの混乱を生み出すでしょう。.hgignore
Mercurialはすべての子孫に責任があると想定しているため、Wikiを除外するサンドボックスにファイルします。