Reputation: 6693
Given the SHA of a specific commit in my repo, I want to identify the branches which contain the commit, using the GitHub API.
I'm aware I can do this locally using git
directly in a variety of ways, including
git branch --contains <commit>
but this is for an integrated page that's pulling data from several platforms, so I really need to be using the API.
This question had an accepted answer saying this wasn't possible back in 2013, but I'm hoping something along these lines has been added to the API since.
Is anyone aware of a way to get this information short of querying for a list of ALL commits in the branches of interest and iterating through them to compare?
Upvotes: 13
Views: 2961
Reputation: 15650
None of the Repository Commit, Git Commit nor Git References endpoints provide that data, so I think the API just doesn't do it.
But the website shows that data, so if you desperately need it you could try scraping the commit's page (https://github.com/:user/:repo/commit/:sha
) and getting the commit-branches
div.
Finally, Github's Support is great, so you should ask them - worst-case scenario is they tell you it's not implemented, but maybe they put it on the TO-DO list.
Upvotes: 6
Reputation: 526
Could not find s.th. neither, ended up using unofficial API (I guess):
https://github.com/:user/:repo/branch_commits/:commit
You still need to scrape the response, but it's much shorter and faster. If the response just contains whitespace, there is no branch for that commit.
Upvotes: 8