Вот три способа сделать это. Я расскажу о плюсах и минусах каждого:
Опция 1 : используйте hg diff
, чтобы получить файл сравнения, показывающий незафиксированные изменения, а затем hg import --nocommit
на принимающей стороне, чтобы применить эти изменения без создания нового набора изменений
- Плюсы : просто, не создает наборов изменений
- Минусы : на самом деле не использует Mercurial, то есть DVCS. Может не поймать вновь добавленные файлы
Вариант 2 : фиксация на отправляющей стороне, подтолкнуть к принимающей стороне (или вытащить с нее, или положить hg bundle
на флэш-диск), минуя рабочий сервер, update
в принимающая сторона, а затем hg rollback
на обеих сторонах, чтобы исключить набор изменений (но оставить изменения.
- Плюсы : Использование push и pull для перемещения по изменениям, аналогичным намерениям ртути
- Минусы : Хаки. Полагается на откат, который работает только на 1 уровне. Случайно потяните дважды, и вы не можете отменить первый.
Опция 3 : Фиксация на отправляющей стороне. Нажмите на репозиторий для разработчиков, к которому у вас есть доступ, и Потяните на принимающей стороне. Не подталкивайте к репо компании до тех пор, пока все не будет создано, но когда вы толкаете, толкайте все промежуточные наборы изменений
- Плюсы : Точно, о чем DVCS. Ваш заказ на работу задокументирован и сохранен
- Минусы : требуется настроить клон только для вас
FWIW, я рекомендую вариант 3. Репозитории для разработчиков - это именно то, о чем говорят DVCS. Если вашей компании нелегко установить его на сервере, к которому вы можете получить доступ из дома и за его пределами, отметьте для них огромное значение, документировав процесс, приведший разработчика к завершенному исправлению / функции , и то, что поощрение разработчиков часто переходить к репо, не требующему компиляции, хорошо для ежедневного резервного копирования.
Наконец, после того, как вы закончили с вашей функцией или исправлением, вы всегда можете свернуть все промежуточные наборы изменений. Мне не нравится это делать (я показываю вашу работу такой парень), но вот как: Могу ли я раздавить коммиты в Mercurial?