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

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

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

2 ответа

Решение

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

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

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

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

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

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

Вот небольшой скрипт на 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']:

Строка, которая должна быть изменена, чтобы получать запросы извлечения из хранилища.

Другие вопросы по тегам