Git:如何查找分支是否存在拉取请求?

5

我现在在一个git分支上。有没有办法查看是否有针对此分支的拉取请求?

在这种情况下,使用Atlassian-Stash来管理拉取请求。当然,我可以使用Stash的网页界面搜索拉取请求;但是我能否仅使用git命令行工具从脚本中执行此操作?


git-request-pull 存在,但它更多地是一种向维护者提交请求的方式。老实说,维护者通常知道这些请求是否正在进行中,因为他们会收到某种通知。此外,有关 pull requests 的更广泛知识是第三方主机(如 GitHub 和 Stash)提供的。 - Makoto
3个回答

6
核心 Git 没有像(GitHub、Atlassian 等)pull request 功能,因此您无法使用standard Git 命令。 (嗯,有git-request-pull,但这是稍有不同的)。
幸运的是,Atlassian/Stash (和 GitHub) 提供了 API,可让您通过 cmdline-tools 使用它们(而不是通过浏览器)。 一旦您创建了一个小脚本来查询 pull-requests 的服务器,您就可以将其转换为子命令,方法是在脚本前加上 git- 并将其放在搜索路径中的某个位置。
例如,如果您的脚本名为git-check-pulls,则可以使用它作为git check-pulls ...

4

4

就像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来从stash中获取数据。而JSON数据似乎具有稍微不同的结构。

for item in jsondata['values']:

这是需要更改的行以从stash获取拉取请求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接