ローカル ファイル システムの別の hg リポジトリ内に 1 つの hg リポジトリを配置できますか?
「サンドボックス」の bitbucket wiki をプルダウンしています。これをまたはに配置する必要があるかどうかを知りたいです。
repos/sandbox/wiki
repos/sandbox-wiki
前者でいいの?
編集:サブリポジトリを参照してください。
ローカル ファイル システムの別の hg リポジトリ内に 1 つの hg リポジトリを配置できますか?
「サンドボックス」の bitbucket wiki をプルダウンしています。これをまたはに配置する必要があるかどうかを知りたいです。
repos/sandbox/wiki
repos/sandbox-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
:-)
はいといいえ。何をしたいかによります。リポジトリ「サンドボックス/wiki」を作成できますが、この内部リポジトリのファイルは外部「サンドボックス」リポジトリにコミットされません (@Jason は正しいです)。したくない場合は、問題ありません。
サンドックスで wiki リポジトリから明示的にファイルを追加してみると、以下のメッセージが表示されます。内部レポを含むディレクトリへのパスを追加すると、ファイルは無視されます。
サンドックス ルート ディレクトリから:
hg add wiki/myfile
abort: path 'wiki/myfile' is inside repo 'wiki'
Mercurial はネストされたリポジトリを許可しませんが、少なくとも 1 つの理由があります:
/MyProject というプロジェクトで作業しているとします。このフォルダーには、コード、ドキュメント、テストなど、すべてを入れます。
非常に重要な作業であるため、作業をバックアップする必要があるため、/MyProject のリポジトリを作成します。その後、バンドルを使用して /MyProject の進化を保存し、それらを USB フラッシュ メモリにバックアップして、ハード ドライブが壊れた場合に備えてすべてを復元できるようにします。
/MyProject にはすべてが含まれていることに注意してください。その中には、メイン コードといくつかの補助プロジェクトがあります。/MyProject/AuxiliaryProject にある補助プロジェクトの進行状況も追跡したいので、Mercurial を使用してその進展を追跡します。
また、メイン コード用に別のリポジトリが必要です: /MyProject/Main
この状況では、ネストされたリポジトリが必要です。バンドルを使用してすべてをバックアップできる大きなリポジトリと、各サブプロジェクトを管理するための子リポジトリが必要です。
Mercurial は、リポジトリを初期化するときにユーザーにいくつかのオプションを提供する必要があると思います。例: - ネストされたリポジトリを無視する - ネストされたリポジトリを含めますが、.Hg フォルダーは無視します (つまり、ネストされたリポジトリが存在しないかのように動作しますが、ネストされたリポジトリに含まれる情報は無視しません)。- ネストされたリポジトリを含め、.Hg フォルダーも含めます (バックアップの目的に適しています)。
--------- 編集: サブリポジトリは進行中の機能です: https://www.mercurial-scm.org/wiki/subrepos
また、将来廃止される可能性のある「フォレスト」という名前の拡張機能もあります: https://www.mercurial-scm.org/ForestExtension
これは、価値がある以上にユーザーの混乱を招く可能性があります。.hgignore
Mercurial はすべての子孫に責任があると想定しているため、wiki を除外するにはサンドボックスにファイルを設定する必要があります。