将Bitbucket的pull request应用为补丁。

17

我在Bitbucket上拥有一个只有我有写入权限的仓库。

有人分叉了这个仓库,在分叉中进行了更改并从分叉中向我的仓库发出了拉取请求。

我该如何将该拉取请求作为git补丁暂时应用于我的仓库以进行测试?

分叉的仓库是私有的,所以我无法将其拉取下来,而且我也不想那样做。

在GitHub上,您可以简单地转到拉取请求然后在URL结尾添加 .patch 以下载补丁。但在Bitbucket上这种方法行不通。


你能将它拉到除了主分支以外的分支吗? - George Hilliard
不行。我可以要求他编辑 PR 以针对另一个分支,但我仍然必须接受它才能拉取。 - Nick Spiers
创建一个临时分支,然后要求他编辑pull request到该分支。合并它,如果不喜欢,就删除(-D)该分支。或者,向他解释你不会合并无法查看的代码,并要求他对该分支进行只读访问。(BitBucket的一件我不喜欢的事情之一。) - George Hilliard
不是很理想,但我猜如果没有其他选择的话... - Nick Spiers
3个回答

25

1
哈,这是我创建的问题。还在等他们放上那个链接,但我想我应该自己回答我的问题。 - Nick Spiers
1
您还可以通过在API URL中将diff替换为patch来创建一个实际的补丁(包含提交元数据)。 - Whymarrh
4
现在显示“禁止访问”:( - mangatinanda
5
这个解决方案似乎不再有效。 :( - Snake Sanders
更新 Jira 问题:https://jira.atlassian.com/browse/BCLOUD-8323我简直不敢相信五年后状态仍然是“收集兴趣”。 - Nick Spiers
显示剩余2条评论

8

对于7.x版本,您可以尝试根据https://docs.atlassian.com/bitbucket-server/rest/7.11.1/bitbucket-rest.wadlhttps://docs.atlassian.com/bitbucket-server/rest/7.11.1/bitbucket-git-rest.html中提供的信息使用以下链接:

Pull requests: https://bitbucket.example.com/rest/api/1.0/projects/GROUP/repos/PROJECT/pull-requests/ID.patch

Commits: https://bitbucket.example.com/rest/api/1.0/projects/GROUP/repos/PROJECT/patch?until=COMMIT(也可以尝试使用since=查询参数来指定起始提交记录)。


0

在Nick Spier的答案上补充一点:

你需要在请求中包含访问令牌,否则会出现权限错误。


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