Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

List all commits between two commits

Patrik Hillbo May 4, 2023

Hi,

We are trying to use the rest api to get a list of commits (with messages) between two commits. We are using the following command with two commits from the same branch on the used repo:

https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/commits/ce6f699..ab9ba03
The response we get is a HTTP/1.1 404 Not Found with the following data:
{ "type": "error", "error": { "message": "Commit not found", "data": { "shas": [ "ce6f699..ab9ba03" ] } }, "data": { "shas": [ "ce6f699..ab9ba03" ] } }
Have we misunderstood the usage of the api or what is wrong here? We have tried on different repos without success.
If we run the command for only one commit it works fine, i.e.: https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/commits/ce6f699
Best regards,
Patrik H, Dev. Engineer

1 answer

0 votes
Theodora Boudale
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 5, 2023

Hi Patrik and welcome to the community!

If you have a commit graph as follows:

A - B - C - D - E - F

where
A, B, C, D, E, and F are commit hashes
A is the older commit and F is the newest one

and you want to get the commits between B and E, you can use a URL as follows:

https://api.bitbucket.org/2.0/repositories/<workspace-id>/<repo>/commits/E?exclude=B

Please note that this will also return commit E, but not commit B.
If you want to include commit B in the output, you need to change B with A in the URL.
If you want to exclude commit E from the output, you will need to change E with D in the URL.

Is this something that works for you?

Kind regards,
Theodora

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events