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でリポジトリを提供しようとしましたが、処理速度が大幅に低下するため、より良い方法を見つけたいと思います(すべてのマシンがローカルネットワークにあります)。.hgsubWindowsとLinuxの両方のマシンから作業できるように、相対パスを使用する正しい方法は何ですか?