Где NUMBER - это число от 1 до 11, указывающее, какой случай (топология) проверять.

епозиторий Git имеет три ветви,devel, stable а такжеcustomers/acme_patches, Давным давно,stable был раздвоен отdevelи все исправления происходят вstable, Время от времени,stable сливается обратно вdevel. customers/acme_patches это ветка с несколькими специфическими для клиента патчами. Ветвь не была объединена ни с одним изdevel а такжеstable.

Немного искусства ASCII для иллюстрации сценария:

            o---o---o          customers/acme_patches?
           /
  o---o---1---o---o---o        stable
 /     \           \
o---o---o---2---o---o---o---o  devel
             \
              o---o---o        customers/acme_patches?

Теперь мне интересно

Какая ветка былаcustomers/acme_patches раздвоенный от -devel или жеstable? Я только знаю, что это было разветвлено одним из них в прошлом, но я не знаю, какой. Например. это могло быть совершено1 или же2 на приведенной выше диаграмме.

Я играл сgit log --oneline --graph а такжеgitk но с тех порcustomers/acme_patches был разветвлен несколько сотен коммитов назад, трудно следовать нарисованным линиям.

Может быть, есть быстрая команда (небольшой скрипт тоже подойдет), которая может как-то следовать за коммитами вcustomers/acme_patches в обратном направлении, чтобы найти первый коммит с двумя дочерними элементами (точка разветвления) и затем определить, был ли этот коммит выполнен вstable или вdevel?

В лучшем случае я мог бы просто выполнить что-то вроде (извините за подсказку, я на Windows):

C:\src> git fork-origin customers/acme_patches
stable

Ответы на вопрос(4)

Ваш ответ на вопрос