Найти предыдущий коммит слияния в ветке релиза - PullRequest
1 голос
/ 28 апреля 2019

На работе у нас есть ветка разработчика и ветка релиза. Время от времени мы объединяем dev в release: для этого мы создаем запрос на извлечение на github, а затем объединяем его.

Я делаю инструмент интеграции, чтобы рассказать нам о разных вещах, например, кто является автором коммитов между двумя выпусками. Я хотел бы найти ша предыдущего слияния dev-> release .

Мне удается использовать API github до некоторой степени:

  • Я автоматически получил номер запроса на извлечение из последнего устройства -> выпуска
  • Я знаю, как получить всю информацию о коммитах между любыми 2 коммитами, если я знаю их ша
  • Все, что мне сейчас нужно - это хороший способ узнать, когда был предыдущий dev -> слияние релиза: мне удается перебирать / просматривать все последние коммиты и видеть в журналах отладки предыдущий dev -> релиз слияния (я посмотрел его ша вручную), так что я знаю, что он есть, но я не знаю, как я могу автоматически сказать, что нужно остановиться, кроме проверки сообщения коммита, но он выглядит немного грязным и не всегда точным .

Обратите внимание, что это некоторые внутренние инструменты, и я не могу использовать инструменты командной строки git. Я посмотрел этот вопрос тоже

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

Вы можете создать тег при каждом выпуске, используя номер версии. Таким образом может быть проще, зная два выпуска, которые вы хотите сравнить, работать с ними (например, git log tag1..tag2 или эквивалентный).

Нахождение предыдущего выпуска в значительной степени будет номером текущей версии - 1.

0 голосов
/ 28 апреля 2019

GitHub не предоставляет эту функциональность в API. Вы хотите использовать вызов командной строки, который дает ответ, как в вопросе, с которым вы связаны, или написать (довольно сложный) вызов, используя libgit2 или оболочку. Это единственный способ получить правильный ответ на этот вопрос.

Если вы абсолютно, на 100% уверены, что люди будут использовать только стандартные инструменты командной строки Git, вы можете использовать этот вызов API , чтобы просмотреть историю и найти соответствующее сообщение фиксации, указывающее слияние Однако, если кто-либо когда-либо отредактирует сообщение о коммите или использует другой инструмент, вы пропустите записи.

Вы также можете просмотреть историю с помощью API GitHub, чтобы найти все слияния в ветви release и найти первый коммит, который соответствует второму родительскому элементу в ветви dev, но это неэффективно и, вероятно, приведет к Вы получаете ограниченную скорость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...