Я большой поклонник поддержки вещей. Я храню свои важные школьные сочинения и тому подобное в папке моего Dropbox. Я удостоверяюсь, что все мои фотографии дублируются на внешний диск. У меня есть домашний сервер, на котором я храню важные файлы, отраженные на двух дисках внутри сервера (например, программный RAID 1).
Так что для своего кода я всегда использовал Subversion для его резервного копирования. Я сохраняю ствольную папку со стабильной копией моего приложения, но затем я создаю ветку с именем и моим именем пользователя, и внутри находится моя рабочая копия. Я делаю очень мало изменений между коммитами в эту ветку, понимая, что код там - моя резервная копия.
Теперь я изучаю Mercurial и должен признать, что я еще не использовал его по-настоящему, так что я могу ошибаться. Но мне кажется, что у вас есть серверное хранилище, а затем вы клонируете его в рабочий каталог в виде локального хранилища. Затем, когда вы работаете над чем-то, вы делаете коммиты в этот локальный репозиторий, а когда вещи находятся в состоянии, которым можно поделиться с другими, вы hg push
отправляете родительский репозиторий на сервер.
В промежутках между стабильным, проверенным, без ошибок кодом, где находится резервная копия?
Подумав, я пришел к выводу, что он не предназначен для резервного копирования и предполагает, что вы справились с этим самостоятельно. Полагаю, мне нужно хранить локальные репозитории Mercurial в моем хранилище или в каком-либо другом резервном хранилище, поскольку мой текущий код не отправляется на сервер.
Это довольно много, или я что-то пропустил? Если вы используете Mercurial, как вы делаете резервную копию ваших локальных репозиториев? Если бы вы включили компьютер этим утром, и ваш жесткий диск загорелся (или, что более вероятно, читающая головка испортилась, или ОС повредила сама ...), что будет потеряно? Если вы потратили последнюю неделю на разработку модуля, написание тестовых примеров для него, документирование и комментирование, а затем вирус стирает ваш локальный репозиторий, разве это не единственная копия?
Итак, с другой стороны, вы создаете удаленный репозиторий для каждого локального репозитория и все время добавляете к нему?
Как вы находите баланс? Как вы обеспечиваете резервное копирование своего кода? Где грань между использованием Mercurial в качестве резервной копии и использованием утилиты резервного копирования локальной файловой системы для обеспечения безопасности ваших локальных репозиториев?