LINUX.ORG.RU

Mercurial: синхронизировать две копии


0

0

Пытаюсь начать использовать Mercurial для отслеживания истории правок своих личных мелких поделок и проектиков в домашних условиях.

Возникла такая ситуация: иногда на работе есть время чего-то докрутить в исходниках или идея какая придёт. Хочу простыми средствами получать на работе и дома идентичные копии репозитория чтобы можно было править и там и там, а результаты синхронизировать. Можно ли это сделать средствами Mercurial и как при такой синхронизации избежать лишних "следов" в истории проекта (чтобы факты моего перемещения между домом и работой не засоряли её)?

Грубо говоря, если в одном из них сделаны изменения - повторить их в другом как будто они в нём и были сделаны. Если же я вдруг забуду их синхронизировать и сделаю разные изменения и там и там, то как снова сделать слияние чтобы они стали идентичными.

Сетевого соединения между домом и работой нет. В качестве среды передачи устроит либо полный автоматический экспорт в архив на флэшку либо диффы мылом.

Я конечно могу тупо руками зиповать репозиторий с последними правками и заменять им другой, но как-то это криво...

anonymous

> Грубо говоря, если в одном из них сделаны изменения - повторить их в другом как будто они в нём и были сделаны.

hg help bundle

> Если же я вдруг забуду их синхронизировать и сделаю разные изменения и там и там, то как снова сделать слияние чтобы они стали идентичными.

hg merge

http://hgbook.red-bean.com

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

А мне показалось, что товарищ хочет не историю синхронизировать, а только изменения в рабочих копиях. И при этом не наделать ненужных коммитов в историю с промежуточными результатами.

Вообще по идее с MQ это должно удобно делаться. Но я пока с этим не разобрался. Поэтому, когда с работы забираю на флэшку изменения, делаю что-то типа: hg push /to/flash && hg diff > .diff && cp .diff /to/flash.

kamre ★★★
()
Ответ на: комментарий от kamre

> Поэтому, когда с работы забираю на флэшку изменения, делаю что-то типа: hg push /to/flash && hg diff > .diff && cp .diff /to/flash.

Просто hg qpop -a, и забирать .hg/patches. Если есть незаконченные изменения, hg qref -f unfinished-work, и задача сводится к предыдущей.

tailgunner ★★★★★
()
Ответ на: комментарий от kamre

Ну вообще если я чего-то закоммитил то этот коммит должен быть в обеих копиях. А вот каких-то действий связанных с переносом процесса разработки между работой и домом я в логе предпочёл бы не видеть :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.