Использование Mercurial hg bundle и hg export против слияния? - PullRequest
15 голосов
/ 02 марта 2011

Когда именно вы будете использовать hg export и hg bundle?

Эти команды перечислены в кратком руководстве Mercurial , но мы не знаем, когда их использовать.1007 *

В настоящее время мы управляем dev, имея различные репозитории и объединяясь между ними.Т.е.:

cd myapp-1.01
hg pull ../myapp-1.0
hg merge
hg commit
hg push

Когда бы вы использовали экспорт и пакет вместо подхода, который мы используем?

Ответы [ 2 ]

19 голосов
/ 02 марта 2011

Основное различие заключается в том, существует ли родительский набор изменений в целевом хранилище.Если, например, у вашего исходного репо есть это:

[A]--[B]---[C]

, а у вашего назначения это:

[A]--[B]

, и вы хотите отправить [C], вы можете использовать связку (или просто нажать /pull).

Если, однако, у вашего хранилища назначения было:

[A]--[D]

, и вы хотите добавить к нему [C], вам придется использовать экспорт и импорт.

Вкратце: bundle - для случаев, когда вы хотите сделать push / pull, но у вас нет хорошего сетевого пути, а export - для случаев, когда вы хотите отправить логическое содержимое набора изменений, а не тот конкретный, точный набор изменений.

5 голосов
/ 02 марта 2011
  • Пакет лучше подходит для сохранения указанного диапазона наборов изменений в файл для удобной передачи (например, отправка их по электронной почте для применения в другом хранилище в другом месте).

    С hg --help bundle:

    Пакетный файл может быть переводится с использованием обычных средств и применяется к другому хранилищу с команда расцепления или вытягивания . Это полезным когда прямой push и pull недоступны или при экспорте всего хранилище нежелательно.

  • Похоже, что при экспорте создается список заголовков + различий для некоторого диапазона наборов изменений, но в справочном файле не упоминается, помогает ли это автоматизировать их передачу в другое место.

    Кроме того, выходной аргумент файла для экспорта может быть отформатирован в соответствии с номером ревизии и т. Д., Что позволяет мне полагать, что команда будет обычно использоваться для сохранения ревизий таким образом, чтобы вам было легче их просматривать (в виде файлов). .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...