Подтвердить что ты не робот

Есть ли способ изменить способ построения графиков в TortoiseHg?

Используется для рисования графиков ClearCase. На первый взгляд я считаю, что Mercurial и TortoiseHg запутываются с первого взгляда.

Это, как я хотел бы, чтобы он был представлен: Static position for branches (good) Со статическими позициями для ветвей. Например. Отделение обслуживания влево/вправо всегда и предпочтительно по прямой линии, а не с текущей изогнутой ветвью спагетти (см. Ниже ссылку).

Это, как это выглядит с помощью TortoiseHg Explorer. График из тестового репозитория.:-) Graph in TortoiseHg (bad)

Есть ли способ изменить, как рисуются графики в Mercurial?

[править]

Отметьте MacHg и как он рисует графики. Это больше похоже на то, что я хотел бы видеть сам. static/stable graph in MacHg

4b9b3361

Ответ 1

Проблема заключается в том, что любая forking commit создает "анонимную" ветвь (в отличие от именованной ветки, которая немного отличается от концепции), а графическое представление по умолчанию не может размещать записи в статических столбцах без наличия хороших идентификаторов. Таким образом, разработчик отказался, и у нас есть текущий график.

Теперь я думаю, что первое представление, которое вы даете, является удивительным, и должно быть возможно использовать некоторые эвристики для назначения идентификаторов анонимным ветвям в зависимости от (developer1-a, developer2-a, developer2-b и т.д.). Это было бы круто.:)

Время вложения!

Обновление

Что я хотел бы видеть:

  • Commits сортируется по вертикали по времени фиксации, а не по целочисленному идентификатору версии.
  • Commits сортируется по горизонтали, группируется по названной ветки и по каждому коммиттеру внутри каждой ветки. (И каждый коммиттер должен быть близок, если коммиттер разветкил и объединил свои собственные данные.)

Это означает, что алгоритм должен смотреть на все коммиты (которые должны быть просмотрены) перед заполнением представления и помещением "точек" фиксации в правый столбец/строку.

Три прохода над всеми коммитами должны быть достаточными, и каждый из них может быть выполнен в O (n) времени, что является O (n) для всего:

  • Пройдите все, чтобы собрать данные (собрать ветки/коммиттеры) (O (n))
  • сортировать ветки/коммиты в подходящий порядок столбцов
  • сортировка фиксируется по времени фиксации (O (n log n) или лучше O (n) с помощью сортировки radix на секундах с эпохи)
  • ходьба фиксирует и рисует точки и линии предков в соответствии с группировкой

Возможно, нам нужно быть умным (er) при маршрутизации линий между коммитами, но это еще предстоит выяснить. В частности, мы могли бы использовать вертикальное пространство между точками фиксации для соединения слияний, которые расположены далеко друг от друга по вертикали (т.е. Во времени), вместо использования целого столбца, такого как текущий алгоритм

Ответ 2

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

Я предполагаю, что визуализация TortoiseHg explorer прямо из расширения графика.

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