Bitbucket拉取请求的refspec

6
我在Atlassian文档中搜索到了这个ref/pull-requests/$PR_NO/from,当我尝试获取它时,遇到了这个错误Couldn't find remote ref refs/pull-requests/1/from。有没有办法启用这个引用?或者Webhooks是唯一的选择?我正在尝试使用Bitbucket进行CI设置。
(我们使用的是10用户付费计划)
3个回答

6
现在这是可能的。您只需要在<repo_root>/.git/config文件中添加以下行即可:
[remote "origin"]
    url = ...
    fetch = ...
    fetch = +refs/pull-requests/*:refs/pull-requests/*

当您进行获取操作时,您将看到一整套新的引用出现:
$ git fetch origin
remote: Counting objects: 252, done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 82 (delta 20), reused 0 (delta 0)
Unpacking objects: 100% (82/82), done.
From ...
 * [new ref]           refs/pull-requests/300/from  -> refs/pull-requests/300/from
 * [new ref]           refs/pull-requests/300/merge -> refs/pull-requests/300/merge
 * [new ref]           refs/pull-requests/302/from  -> refs/pull-requests/302/from
 * [new ref]           refs/pull-requests/323/from  -> refs/pull-requests/323/from
 * [new ref]           refs/pull-requests/323/merge -> refs/pull-requests/323/merge
 * [new ref]           refs/pull-requests/344/from  -> refs/pull-requests/344/from
 * [new ref]           refs/pull-requests/344/merge -> refs/pull-requests/344/merge
 * [new ref]           refs/pull-requests/350/from  -> refs/pull-requests/350/from
 * [new ref]           refs/pull-requests/350/merge -> refs/pull-requests/350/merge
 * [new ref]           refs/pull-requests/355/from  -> refs/pull-requests/355/from
 * [new ref]           refs/pull-requests/355/merge -> refs/pull-requests/355/merge

*/from 提供你PR分支的头部信息,*/merge 提供将PR与目标分支合并的结果。

更多细节请查看拉取请求流程:获取能力解锁!


参见这里,了解为什么这可能不是一个好主意。 - Leponzo


1

Bitbucket Server(Stash)(自托管)支持

Stash支持refspecs,并可通过以下命令使用

git config --add remote.origin.fetch '+refs/pull-requests//from:refs/remotes/origin/pr/'

你可以检查你的.git/config文件,看看它是否设置正确。
[remote "upstream"]
url = git@stash.atlassian.com:docker/libswarm.git
fetch = +refs/heads/*:refs/remotes/upstream/*
fetch = +refs/pull-requests/*/from:refs/remotes/upstream/pr/*

https://www.atlassian.com/blog/archives/how-to-fetch-pull-requests

Bitbucket Cloud不支持(bitbucket.com)

Bitbucket Cloud目前不支持refspec上的PR,可用选项是轮询Bitbucket的Git或API端点

https://jira.atlassian.com/browse/BCLOUD-5814

考虑到该请求已经挂起7年,因此明智的做法是不要等待refspec实现(截至2019年11月)。


参见此链接,了解为什么这可能是一个不好的想法。 - Leponzo

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