Код 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 (или аналогичную).
Таким образом, вы всегда будете иметь синхронизированную копию вашего файла на нескольких компьютерах.
Может быть, это не самое чистое решение, но оно работает.

Другие вопросы по тегам