TortoiseHg изменить расположение папки .hg по умолчанию - PullRequest
1 голос
/ 28 июня 2011

Рекомендуется ли изменить расположение папки .hg по умолчанию в центральном месте? Вместо того, чтобы хранить папку .hg в рабочем каталоге. Так как я случайно удалил рабочую директорию и удалил всю историю коммитов.

Есть ли способ изменить расположение папки .hg по умолчанию в TortoiseHg?

Или есть рекомендации по резервному копированию репо? И как?

Ответы [ 2 ]

5 голосов
/ 28 июня 2011

Я могу подумать о двух возможных решениях, одно я рекомендую, а другое нет.

Решение, которое я не рекомендую , основано на использовании жестких ссылок в вашей файловой системе. Когда вы создаете новый проект, вы можете переместить каталог .hg куда-нибудь еще в файловой системе и установить жесткую ссылку на него в вашем рабочем каталоге. Затем в файловой системе у вас две ссылки на один и тот же каталог .hg, поэтому, если вы удалите один, он все равно будет существовать.

Я проделал аналогичные действия на своем игровом ПК, чтобы сохранить все сохраненные игры в подкаталогах одного каталога \ savegame.

Тем не менее, гораздо лучшее решение, которое я определенно рекомендую, выглядит следующим образом:

Имеет каталог (например, C:\HG), в котором находятся все «базовые» репозитории. Это не рабочие репозитории, и у них не будет рабочего каталога, кроме "null". Когда вы создаете новый проект, вашим первым шагом будет создание нового пустого хранилища в этой базовой области:

hg init C:\HG\myNewProject

Теперь вам не нужно прикасаться к этому хранилищу, кроме как для его резервного копирования (я использую SkyDrive).

Затем в месте, где вы делаете всю свою работу, вы создаете клон этого хранилища:

cd C:\WhereIWork\Projects
hg clone C:\HG\myNewProject myNewProject

Создание клона автоматически создает связь между вашим рабочим хранилищем и хранилищем в C:\HG: любая ваша работа должна регулярно фиксироваться и отправляться.

И вот он у вас есть - резервная копия, к которой вам никогда не нужно прикасаться, если вы случайно не удалили свой рабочий каталог и не хотите повторно клонировать.

5 голосов
/ 28 июня 2011

AFAIK, изменение местоположения папки .hg невозможно. Наличие папки .hg указывает на то, что данная папка является хранилищем HG.
Даже если бы была возможность переместить саму папку .hg в другое место, в рабочей папке все равно должна быть некоторая информация, где находится ваша фактическая папка .hg. Поэтому, если вы случайно удалите свою рабочую папку, вы также потеряете путь к настоящей папке .hg. Та же проблема: -)

Резервное копирование репо легко в распределенных системах контроля версий, таких как HG.
Создайте клон где-нибудь (на сервере в вашей сети, для которого регулярно выполняется резервное копирование, или, если вы дома, используйте учетную запись Bitbucket ) и регулярно нажимайте на нее.

...