Cloning a pull request

r.v March 2, 2014

How do I clone/pull a pull request to a local repository from Bitbucket? I read this but I am somehow not able to find a handle to the pull request on Bitbucket that I can name on the command line. I do not have access to the contributor's fork but can see the issued pull request on the web interface. To be specific, I am using git.

PS: I posted this question on StackOverflow a few days ago but having not received any response came across this forum.

2 answers

1 accepted

1 vote
Answer accepted
vimishor May 28, 2014

You need to fetch from origin and then you can create a new branch with changes.

Replace <no> with PR number:

$ git fetch origin pull/&lt;no&gt;/head
$ git checkout -b pull-request  FETCH_HEAD

Devashish Meena May 28, 2014

Thanks for the quick response.

The problem is that I'm trying to automate this process using webhooks and the PR number is only specified (as the "ID" field) when the PR is created. I'm referring the documentation provided here which i confirmed upon testing.

On any other event(i'm only interested in PR updated after that) the PR "ID" field is not present which leave me with only the branch name to work with.

vimishor May 28, 2014

The ID is present in the data sent to the webhook url. Take a closer look at "Examples of POST data -> Created" from the link you provided.

As a side note. You supposed to add this as a comment to my answer, not as an answer by itself. If you still can, you should convert your answer to a comment.

Devashish Meena May 28, 2014

Sorry for posting the comment as the answer.

As I've mentioned in my previous comment, the ID is present in POST data->Created/CommentCreated/Comment Updated/Comment Deleted but not in POST data -> Updated/Merged/Declined which is what i'm looking for.

I'm guessing this should be an easy fix from an API point of view considering some of the API's for PR has this field and some don't

Jaroslav Libal August 17, 2014

Hello, what can I do when I get those messages:

$ git fetch origin pull/3/head
fatal: Couldn't find remote ref pull/3/head
fatal: The remote end hung up unexpectedly

Sorry for a newbie question; however I cannot find the informattion how to pull the PR to my local computer anywhere. I do not think we should just click "merge" for a PR and wanna test it locally, how to do that, please?

Aldo Roman June 7, 2015

Any updates on this? I'm having the same issue mentioned by Jaroslav. I do not have access to developers repositories, either.

John DiBaggio August 16, 2016

The following worked for me, for checking out a pull request locally:

git fetch origin refs/pull-requests/<pull request number>/from:<new local branch name>

From there, you can do tests, merge this branch into another branch, etc.

0 votes
Devashish Meena May 28, 2014

I'm facing the same issue. Trying to fetch the Pull Request branch of a remote user locally gives 'access denied'

$ git fetch git@bitbucket.org:&lt;remote_user&gt;/&lt;repo_fork&gt; &lt;PR_branch&gt;
repository access deined
fatal: The remote end hung up unexpectedly

I don't understand why this should be happening if I can see the contents of PR using the web UI.

Thanks in advance for any help.

Deepak Govindram Kumbhar July 19, 2019

The issue seems to be related to credentials. Can you verify your credentials?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events