Я могу подумать о двух возможных решениях, одно я рекомендую, а другое нет.
Решение, которое я не рекомендую , основано на использовании жестких ссылок в вашей файловой системе. Когда вы создаете новый проект, вы можете переместить каталог .hg куда-нибудь еще в файловой системе и установить жесткую ссылку на него в вашем рабочем каталоге. Затем в файловой системе у вас две ссылки на один и тот же каталог .hg, поэтому, если вы удалите один, он все равно будет существовать.
Я проделал аналогичные действия на своем игровом ПК, чтобы сохранить все сохраненные игры в подкаталогах одного каталога \ savegame.
Тем не менее, гораздо лучшее решение, которое я определенно рекомендую, выглядит следующим образом:
Имеет каталог (например, C:\HG
), в котором находятся все «базовые» репозитории. Это не рабочие репозитории, и у них не будет рабочего каталога, кроме "null". Когда вы создаете новый проект, вашим первым шагом будет создание нового пустого хранилища в этой базовой области:
hg init C:\HG\myNewProject
Теперь вам не нужно прикасаться к этому хранилищу, кроме как для его резервного копирования (я использую SkyDrive).
Затем в месте, где вы делаете всю свою работу, вы создаете клон этого хранилища:
cd C:\WhereIWork\Projects
hg clone C:\HG\myNewProject myNewProject
Создание клона автоматически создает связь между вашим рабочим хранилищем и хранилищем в C:\HG
: любая ваша работа должна регулярно фиксироваться и отправляться.
И вот он у вас есть - резервная копия, к которой вам никогда не нужно прикасаться, если вы случайно не удалили свой рабочий каталог и не хотите повторно клонировать.