Mercurial Добавление 60+ слияний в случайном порядке - PullRequest
8 голосов
/ 26 августа 2011

У меня только что произошло самое странное с моим ртутным хранилищем, я искренне беспокоюсь за его целостность.

Фон

Я совершал / толкал с перерывами весь день без проблем, пока только сейчас, когда одно комбо коммит / толчок выдало предупреждение, что я буду толкать новые ветви в удаленное местоположение. Я открыл TortoiseHg, чтобы увидеть, что именно происходит в моем дереве репо, что будет причиной этого. (Возможно, я случайно отправил из tip:-1.

После открытия черепахиHg мне подарили это:

Merge Central http://img199.imageshack.us/img199/2557/mercurialproblem01.png

Естественно, я встревожен этим, обратите внимание на даты, с которыми происходят эти слияния, недели и месяцы назад. Я проследил все линии до самого источника и обнаружил, что они происходят из почти повсюду в моей истории, где происходили слияния (и пара других мест).

Происхождение http://img714.imageshack.us/img714/4575/mercurialproblem02.png

Вопросы

  • Что могло иметь вызвало это?
  • Есть ли какая-нибудь команда / функция hg, которая делает это намеренно, или я, скорее всего, смотрю на ошибку?
  • Есть ли простой способ исправить это без повторного клонирования моего репо с моего удаленного хоста?

Я действительно застигнут врасплох этим. Я, безусловно, сегодня не выполнял 60+ слияний, я сбит с толку.

Дополнительная информация

TortoiseHG: 2.0,5 (Merc 1.8.4) ОС: Windows7

1 Ответ

2 голосов
/ 26 августа 2011

Жаль, что вы не можете видеть даты ваших коммитов 762: 795, но я предполагаю, что они распространяются на тот же период в 4 месяца, что и 1509: 1539. Также было бы интересно узнать, кто был автором всех этих csets (оба)

Исходя из взгляда 762: 795, я думаю, вы координируете 2 разработчика, поскольку у вас есть эти небольшие слияния каждые 5 коммитов или около того. Большой диапазон слияний может происходить из третьего репозитория, который вы настроили для непрерывной интеграции (то есть автоматической сборки), которого не было в вашем обычном репозитории, но который вы вытащили случайно, незадолго до создания снимка 1509: 1539. Этот третий репозиторий может задерживать крошечные изменения далеко в прошлое, что приводило к возникновению всех этих слияний каждый раз, когда вы отправлялись в третий репозиторий.

Если вы хотите избавиться от csets, клонирование с -r - самый чистый способ сделать это. Стрип MQ очень удобен, особенно если вы используете TortoiseHg, но также немного опаснее.

Я очень сомневаюсь, что Mercurial сделает что-то подобное за вашей спиной, но если вам нужна дополнительная помощь, вы можете получить немедленную помощь на IRC freenode.net. Для веб-клиента перейдите на http://webchat.freenode.net. В вики Mercurial есть некоторая справочная информация о IRC .

...