2009-12-10 3 views
1

Мы используем связки для синхронизации наших ртутных репозиториев по электронной почте.Почему мои ртутные пакеты, включая «дополнительные ревизии»

За последние несколько сотен ревизий мы заметили, что размер пакета обычно составляет около 600 тыс., Независимо от того, что мы включаем. Похоже, Mercurial включает в себя ревизии, отличные от того, что мы указываем. Я предположил, что это из открытых отраслей, но закрытие всех наших филиалов не фиксировало этого. Когда я создаю пакет для последней версии, он говорит, что он включает в себя 5 ревизий.

Я бы обычно ожидал, что наши связки будут всего лишь несколько десятков килобайт.

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

+0

Вы используете базовые версии? или неявным исходящим? – tonfa

+0

Я не уверен, знаю ли вы, что вы имеете в виду. Я нажимаю на ревизию (единственная, по умолчанию ветвь) и выбираю «Bundle rev: tip» в TortoiseHg. –

ответ

1

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

https://www.mercurial-scm.org/wiki/LookingIntoBundles

+0

К сожалению, это не сработает. В нем отображаются только те изменения, которые у вас отсутствуют. Если я делаю связку с 1 символом, то полученный пакет равен 600k. С помощью этих команд перечислены все ревизии в репозитории или указано «никаких изменений не найдено». –

+0

Извините, возможно, я плотный, но вы могли бы сказать, какая команда дает каждый из этих результатов (не все и все). Вы можете применить пакет, чьи родители уже существуют в вашем репо, поэтому попытка переместить один набор изменений потребует перемещения по многим другим, если многие из них не находятся в репо, в которое вы применяете пакет. Команды импорта/экспорта не имеют «родители должны быть там или приходить» с ограничениями, но пакеты имеют значение. Я знаю, что ваш почтовый ящик является предпочтительным механизмом подключения, но вы попытались импортировать/экспортировать (или нажать/вытащить) непосредственно между хранилищами в качестве эксперимента? –

+0

Команда «in» (входящая) содержит только списки, которые у вас отсутствуют. В этом случае это означает, что никто не появляется. Команда журнала показывает все изменения. «cat» предназначен для извлечения файла. Если я иду прямо в другой репозиторий, он говорит, что он обновлен. Есть ли команда для просмотра пакета, независимо от того, как выглядит ваш текущий репозиторий? –

0

Закрытие филиалов не может быть достаточно. Попробуйте закрыть, а затем слияние ветки.