git: Как я могу узнать, есть ли пулреквест для ветки?

Я на ветке git. Есть ли способ посмотреть, есть ли пулл-реквест для этой ветки?

В данном конкретном случае для управления запросами на вытягивание используется Atlassian-Stash. Конечно, я могу использовать веб-интерфейс Stash для поиска пул-реквеста; но могу ли я сделать это и из сценария, просто используя инструменты командной строки git?


person user1934428    schedule 15.07.2015    source источник
comment
git-request-pull существует, но это скорее способ отправки запросов сопровождающему. Честно говоря, сопровождающий обычно знает, находятся ли они в полете, поскольку они получили бы какое-то уведомление о них. Кроме того, более широкие знания о запросах на включение — это то, что предоставляют сторонние хосты, такие как GitHub и Stash.   -  person Makoto    schedule 15.07.2015


Ответы (3)


В Core Git нет ничего похожего на (github, atlassian,...) функцию pull request, так что вам не повезло с стандартными командами git. (Ну, есть git-request-pull, но это немного другое).

к счастью, atlassian/stash (и github) предоставляют API, которые позволяют вам использовать их через cmdline-tools (а не через браузер).

После того, как вы создали небольшой скрипт, который запрашивает у сервера пулл-реквесты, вы можете превратить его в подкоманду, добавив к вашему скрипту префикс git- и поместив его где-нибудь в пути поиска.

например если ваш скрипт называется git-check-pulls, вы можете использовать его как git check-pulls ...

person umläute    schedule 15.07.2015

Как объяснил умлаут, вы можете использовать небольшой скрипт, чтобы проверить, есть ли какие-либо запросы на включение.

Вот небольшой скрипт на Python, который я использовал некоторое время назад для проверки запросов на включение.

import urllib2
from StringIO import StringIO
import json

data = urllib2.urlopen("https://api.github.com/repos/<username>/<branch>/pulls").read()
io = StringIO(data)
jsondata = json.load(io)
for item in jsondata:
    print "pull request :: " + item['title'] 

Для извлечения данных из тайника потребуется другой URL-адрес. И данные json, кажется, имеют немного другую структуру.

for item in jsondata['values']:

Это строка, которую необходимо изменить, чтобы получить запросы на извлечение из stash.

person remynaps    schedule 15.07.2015

с помощью инструмента командной строки github вы можете просто: gh pr view

person Noam Freeman    schedule 30.08.2020