1

В настоящее время я работаю над несколькими различными проектами. Я использую Mercurial для контроля версий (через BitBucket) и SpiderOak для автоматического резервного копирования. Я работаю на двух машинах, на рабочем столе дома и ноутбуке, когда я на улице. Я установил SpiderOak для автоматической синхронизации моих /home каталогов (которые содержат различные репозитории для моих проектов) между двумя компьютерами.

В настоящее время SpiderOak также синхронизирует подпапку .hg для каждого репозитория. Но я думаю, что это вызывает проблемы. Я просто зафиксировал и перенес репозиторий в BitBucket со своего рабочего стола. Затем я начал работать над проектом на своем ноутбуке после того, как SpiderOak синхронизировал файлы, но без извлечения и обновления из BitBucket. Затем, когда я попытался зафиксировать и нажать с моего ноутбука, я получил следующее сообщение об ошибке:

abort: push creates new remote head 7f6bf2d3292b!
(you should pull and merge or use push -f to force)

С другой стороны, я использовал SpiderOak просто для синхронизации папок проекта без синхронизации папок .hg . Это также вызывало проблемы при использовании Mercurial. Например, если бы я работал над проектом на своем рабочем столе и создал новый файл, скажем, newfile.tex , то он был бы синхронизирован с ноутбуком через SpiderOak, и (на рабочем столе) я бы добавил его в репозиторий Mercurial. через hg add newfile.tex . Но поскольку папка .hg не синхронизировалась между двумя компьютерами, хранилище на ноутбуке не будет знать о newfile.tex , даже если я добавлю его в хранилище на рабочем столе. Я не хочу добавлять файлы в репозитории на обеих машинах по отдельности.

Я вижу, что это несколько бессмысленно, поэтому вопрос сводится к следующему:

  1. Должен ли я синхронизировать папки .hg или нет?
  2. Какой рабочий процесс я должен использовать, чтобы убедиться, что все правильно синхронизировано и Mercurial не рассердился на меня?

1 ответ1

0

Зачем вообще синхронизировать ваш исходный код (используя SpiderOak)? Я бы просто использовал ваши инструменты контроля версий (Mercurial) для синхронизации. Если вы используете ваши инструменты контроля версий, он будет знать обо всех изменениях файлов и будет вести себя правильно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .