да, хочу.
Я потом парсить.
На самом деле интересуют места "развилок" и то к какой ветке относится каждый "конечный" коммит.
Но и полностью поглощённые мастером ветки упускать из вида не хочу.
Поэтому думаю проще было бы получить список всех бранчей, потом разбить его на массив и работать с ним.
ManWithBear: вопрос не читай, быстрее отвечай... Да, классная стратегия "набить" побыстрее плюсов на тостере.
Вопрос задан в явном виде.
Не надо ничего считать по дням, по веткам... Это всё вы придумали. Есть массив его надо построить визуализовать. Как на github или bitbucket. Или на gitlab.
КАК соединять коммиты внутри 1 ветки? С учётом того что могли быть разветвления с последующими коммитами (и всё в 1 ветке) у каждого элемента может быть несколько родителей/детей и одновременно может несколько линий проходить мимо... Вот и возникает вопрос КАК это сделать.
или может не для точек надо строить? Может надо строить для отрезков, а точки на концах расставлять как-то? Просто не могу понять что дальше с этим массивом делать... =(
ManWithBear: проблема в том КАК визуализовать в виде дерева тот массив, который я показал в вопросе.
Т.е. вот запускаю я цикл foreach по всем элементам массива.
0 - самый свежий элемент. 2 родителя.
ОК, рисую точку и 2 стрелки в неё (например, у меня есть для этого специальная картинка)
1 - родитель 0 элемента. Тоже с 2 родителями.
Надо нарисовать на одной из стрелочек предыдущего элемента (какой? Как решить на какой?) точку + 2 новых входящих стрелочки + сместить одну из проходящих мимо стрелочек (а это как определить?)
...
Это я удалился буквально на 1 шаг. И уже не понимаю как мне считать количество проходящих "мимо" стрелок и на какой ветке рисовать точку конкретного коммита.
Нет. Это выведет визуализацию в виде ASCII псевдографики.
Я уже сделал git log --format (с нужными мне ключами). И распарсил.
Уже есть массив, есть хеши дочерних и родительских коммитов. Визуализовать надо в НОРМАЛЬНОМ виде, как на github или bitbucket т.е. картинкой, а не псевдографикой.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Я потом парсить.
На самом деле интересуют места "развилок" и то к какой ветке относится каждый "конечный" коммит.
Но и полностью поглощённые мастером ветки упускать из вида не хочу.
Поэтому думаю проще было бы получить список всех бранчей, потом разбить его на массив и работать с ним.