Код Shelving и UnShelving TortoiseHG на двух разных компьютерах?
Могу ли я положить на полку некоторый код, над которым я работал, на работе, с TortoiseHG ... пойти домой... вытащить / объединить / обновить... а затем отменить и продолжить работу дома?
TortoiseHG предлагает это?
На работе я создал новую полку и добавил в нее все мои "тронутые" файлы. Но когда я вернулся домой, я не смог найти / увидеть полку и т. Д.
4 ответа
Полка - это просто файл в локальной копии репозитория, поэтому если вы работаете с другого компьютера, вы не увидите полку. Реализация TortoiseHg состоит в том, чтобы просто создать diff в файле ".hg\shelve", чтобы вы всегда могли отправить файл по электронной почте домой и поместить его в папку.hg (будьте осторожны, чтобы не уничтожить существующую полку, конечно!).
В Windows вы можете автоматически синхронизировать полки, используя службу синхронизации облачного хранилища, такую как DropBox или Google Drive. Переместите каталог полок (в формате.hg) в папку облачного хранилища и замените его соединением каталогов. Вы можете создать соединение каталога, запустив его в каталоге.hg:
mklink /h shelves C:/Users/<username>/Google Drive/shelves
Конечно, замените цель тем местоположением, которое вы фактически используете. Повторите это на всех компьютерах, на которых вы используете Mercurial.
MQ с pull|push, включая mq-патчи, может быть более естественным способом
Вы можете поместить файлы, над которыми вы работаете, в общую папку DropBox (или аналогичную).
Таким образом, вы всегда будете иметь синхронизированную копию вашего файла на нескольких компьютерах.
Может быть, это не самое чистое решение, но оно работает.