Linuxマシンには次のリポジトリ構造があります。
-- source_control
-- projects
project1
project2
...
-- repositories
repo1
repo2
repo3
...
つまり、source_control
とという2つのネストされたディレクトリを持つディレクトリがprojects
ありrepositories
ます。repositories
ディレクトリには「単純な」リポジトリ(つまり、サブリポジトリを持たないリポジトリ)が含まれ、単なる薄層でディレクトリのprojects
サブリポジトリを含むリポジトリが含まれますrepositories
。
現在、さまざまなプロジェクトの.hgsubファイルは次のようになっています。
repo1 = /mnt/network/drive/source_control/repositories/repo1
repo2 = /mnt/network/drive/source_control/repositories/repo2
等々。現在、すべての開発者が同じネットワークドライブがマウントされているLinuxマシンで作業していたため、これは完全に機能しました。ただし、Windowsからも作業する必要があります。これにより、Windowsマシンがサブリポジトリパスにアクセスできないため、いくつかの問題が発生します(ネットワークドライブはWindowsマシンからアクセス可能であり、異なるパスを使用するだけです)。
.hgsub
ファイルを次のように変更してみました:
repo1 = ../../repositories/repo1
repo2 = ../../repositories/repo2
しかし、これは機能しません(.hgsub
ファイルをコミットすると、サブリポジトリは空になります)。
HTTPでリポジトリを提供しようとしましたが、処理速度が大幅に低下するため、より良い方法を見つけたいと思います(すべてのマシンがローカルネットワークにあります)。.hgsub
WindowsとLinuxの両方のマシンから作業できるように、相対パスを使用する正しい方法は何ですか?