Bitbucket REST interface and GIT; how to get a log history between two tags from a branch

Deadly 提交于 2019-12-22 10:52:53

问题


I am building an app to which requires all the commit comments from git commits against a branch on remote origin. Our repository is hosted on a BitBucket server and is a Git repository.

I have looked over the Bitbucket (Stash) REST api and I can bring back the git comments by browsing the commits, something like this:

  https://mybitbucket.local/rest/api/1.0/projects/myslug/repos/myproduct/commits?limit=1000&branch=mybranch

What I need now, just to make it more efficient, is a mechanism to request the content from just between two tags. Is this possible? I imagine providing two tags as parameters, like &fromTag=X&toTag=y...

I cannot find this, and the documentation is a little sparse... :(

Is there a way?


回答1:


See Bitbucket Server's "compare/commits" REST API call:

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/compare/commits

"Gets the commits accessible from the {@code from} commit but not in the {@code to} commit."

Here's an example call against my demo server (probably need to login as user "test" with pass "test" first) that returns with 5 commits that can be seen from a6e64f4fd0e but are not visible from master:

http://vm.bit-booster.com/bitbucket/rest/api/1.0/projects/BB/repos/aui/compare/commits?from=a6e64f4fd0e&to=master&limit=100

Since you're using Bitbucket/Stash, you might be interested in my Bit-Booster Commit Graph and More add-on to visually verify the correct commits are being returned, like so:

In this case the 5 commits that match "AUI-1546" are the ones my example "commits/compare" REST API call above is returning. You can see quite clearly on this graph how they are precisely the 5 commits that are 1.) accessible from a6e64f4fd0e and 2.) not accessible from master.



来源:https://stackoverflow.com/questions/40594588/bitbucket-rest-interface-and-git-how-to-get-a-log-history-between-two-tags-from

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!