Странный вывод в окне журнала tortoisehg
-
08-07-2019 - |
Вопрос
У меня есть две ветви: основная (черная) и функциональная (желтая).
Как вы можете видеть, поскольку ветвь функции была разветвленной, она постоянно обновлялась, извлекая изменения из main:
альтернативный текст http://azkotoki.org/images/stackoverflow/tgh-reintegrate1 .gif р>
Когда я реинтегрирую обратно ветвь компонента в основную, в окне журнала отображается этот уродливый график:
альтернативный текст http://azkotoki.org/images/stackoverflow/tgh-reintegrate2 .gif р>
Показывает каждую точку слияния как новую ветвь, которая была объединена с ветвью объектов. Если бы у меня было несколько ветвей, это стало бы почти невозможно прочитать. Я также попытался с hg view
, и результаты еще более странные.
Независимо от картинки, показанной выше, окончательные результаты слияния хороши, но график с реинтегрированной ветвью меня раздражает. Р>
Я что-то не так делаю, слишком много раз сливаясь с веткой функций? Или я слишком многого ожидаю от окна журнала Tortoisehg :)?
Заранее спасибо
Решение
График выглядит следующим образом, поскольку ревизии упорядочены по номерам ревизий. Основной репозиторий имеет упорядоченные и нумерованные ревизии следующим образом:
0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
Это отражает порядок, в котором наборы изменений были добавлены в хранилище. Репозиторий ветвей объектов имеет следующий порядок:
0 Imported initial repo.
1 Trivial change to also echo b.
3 Added another echo for c.
4 Automatic merge...
5 Echo for d.
6 Automatic merge...
7 Echo for e.
8 Automatic merge...
Опять все хорошо. Но когда вы вытягиваете ветку объектов в основной репозиторий, добавляются только отсутствующие наборы изменений. Результат в main таков:
0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
5 Refactored echos to print.
6 Automatic merge...
7 Automatic merge...
8 Automatic merge...
и график отражает это.
Как вы заметили, с репозиторием все в порядке - это всего лишь артефакт того, как наборы изменений упорядочены на диске. Если вы хотите, вы можете поменять репозиторий с хорошим графиком на тот, что с уродливым графиком, поскольку теперь они содержат одинаковые наборы изменений. Просто не забудьте перенести все важные настройки из .hg / hgrc
(скопируйте файл из клона с уродливым графиком).
Кстати, когда я смотрю на график в моем клоне http: // hg. intevation.org/mercurial/crew/ (ветка разработки для Mercurial) и сравните его с графиком в свежем клоне https://www.mercurial-scm.org/repo/hg (основная ветка для Mercurial). Я вижу то же самое явление.
Другие советы
Один из способов получить "приятнее" График будет использовать до 2.0 TortoiseHg, который имел режим компактного графика. В этом режиме ваш второй репозиторий будет иметь только два столбца строк, аналогично тому, что на вашем первом снимке экрана.
К сожалению, эта функция не была перенесена с GTK на Qt, поэтому ее нет в текущей версии (2.1.2) TortoiseHg.
Если вы посмотрите поближе, вы увидите, что оба графика (почти) идентичны, но представление отличается. То, что выглядит как 3 разные ветви, на самом деле является одной веткой, но представлено немного по-другому.
Я написал "почти" потому что номера ревизий были переупорядочены. И это действительно странно ...