Skip to content

Instantly share code, notes, and snippets.



Forked from codsane/
Last active Jun 29, 2021
What would you like to do?
Simplest way to get commit count of a GitHub repo using the API
import 'dart:html';
void main() async {
print(await getCommits(repo: 'river_pod', owner: 'rrousselGit'));
Future<String> getCommits({required String repo, required String owner}) async => RegExp(r'(\d+)')
.allMatches((await HttpRequest.request(
import requests
import re
def commitCount(u, r):
return'\d+$', requests.get('{}/{}/commits?per_page=1'.format(u, r)).links['last']['url']).group()
def latestCommitInfo(u, r):
""" Get info about the latest commit of a GitHub repo """
response = requests.get('{}/{}/commits?per_page=1'.format(u, r))
commit = response.json()[0]; commit['number'] ='\d+$', response.links['last']['url']).group()
return commit
curl -I -k "" | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p'
### And that's all !
# I saw many fighting with finding first commit SHA or similar fancy thing.
# Here we just rely on the GH API, asking commits at 1 per page and parsing the last page number in the header of the reply (whose body only holds the last commit !)
# So this is robust and bandwidth efficient. :)
# If one want the commit count of a specific SHA, just use :
curl -I -k "" | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment