При работе в автономном режиме на разных машинах.Лучше использовать команду bundle, которая поставляется с Mercurial.Итак, повторяя то, что написал dls, но процесс незначительных изменений.
Первоначальная настройка, как указано в dls. или
- Перейдите в верхний каталог вашего репозитория Mercurial
- Создать пакет:
hg bundle --base null ../project.hg
- Скопировать файл
project.hg
на другой компьютер - Создать там каталог
- Сделать его репозиторием Mercurial:
hg init
- Включите пакет:
hg pull <path/project.hg>
hg update
- Проверка
hg log
, оба хранилища будут отображать одинаковые базовые ревизии и подсказку
Рабочий процесс с использованием пакета
Я использую немного другой рабочий процесс.Я храню эти репозитории как отдельные репозитории.Я упоминаю их как repo1 и repo2.
Предположим, что текущим наконечником repo1 является 4f45839f613c.
- Вы вносите изменения и фиксируете их в repo1
- Создаете пакетизменений:
Команда: этот пакет содержит все изменения, начиная с указанной базовой версии.
hg bundle --base 4f45839f613c changes.bundle
Возьмите его в repo2, скопировав пакет. Вы можете просто вытащить пакет в repo2:
Команда:
hg pull changes.bundle
Если пакет содержит изменения, которые уже присутствуют в repo2, то они будутигнорироваться при вытягивании.Пока пакет не становится большим, это позволяет снова и снова использовать команду bundle с одной и той же ревизией --base для создания пакетов, включая дальнейшие изменения.
О пакетах: это (очень хорошо) сжатый.
создает (сжатую) резервную копию хранилища
hg bundle --base null backup.bundle
[Редактировать: Добавление некоторых ссылок по этой теме]
[Редактировать: Что я считаю преимуществом использования комплекта]
Связки можно создавать в автономном режиме, копировать или отправлять по почте.Использование push to repo на флешке требует его подключения.Пакеты проще, поскольку в них не предусмотрено, что два репо, из которых вы нажимаете и извлекаете, должны быть доступны одновременно.
Кроме этого, пакеты также могут быть двух типов: Changesets и Incremental.Пакеты изменений - это полные автономные пакеты.Вы также можете использовать пакеты для резервного копирования в виде одного файла.