Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compare two commits in Bitbucket server

Is there a way to compare two commits in Bitbucket server?

For bitbucket cloud, you can enter a URL as follows into your browser: https://bitbucket.org/OWNER/PROJECT/branches/compare/commit2..commit1

(per this discussion: https://bitbucket.org/site/master/issues/4779/ability-to-diff-between-any-two-commits).

The same thing (as well as lots of other functionality) does not seem to work in Bitbucket server as I get a 404 error.

like image 990
Matthew Dresser Avatar asked Nov 05 '25 02:11

Matthew Dresser


1 Answers

The https://bitbucket.org/OWNER/PROJECT/branches/compare/commit2..commit1 not supported on Bitbucket Server.

You can use REST API that utilizes to diff arbitrary commits. Here is the documentation on that REST API endpoint.

The command line for diffs is: "git diff A B", where it shows the changes from A to B. The REST URL looks like

/rest/api/latest/projects/KEY/repos/slug/changes?since=A&until=B 

(where A and B have the same relevance). That will list all the files that changed.

You can call /rest/api/latest/projects/KEY/repos/slug/diff/?since=A&until=B. Write the file path you want the diff for after "/diff/" and before "?since".

Example:

https://mybitbucket.com/rest/api/latest/projects/STASH/repos/stash/changes?since=689fcf1017dc944ab976433a9ead8f2912d83622&until=a222a1f58c17f9164eb498eeaadde94675a49467}}

https://mybitbucket.com/rest/api/latest/projects/STASH/repos/stash/diff/dao-impl/src/main/java/com/atlassian/stash/internal/pull/HibernateRescopeRequestDao.java?since=689fcf1017dc944ab976433a9ead8f2912d83622&until=a222a1f58c17f9164eb498eeaadde94675a49467

You will have to include a path after {{/diff}}. You can't just ask for the entire diff.

like image 120
Shayki Abramczyk Avatar answered Nov 06 '25 20:11

Shayki Abramczyk



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!