Как узнать количество коммитов на репозиторий GitHub с помощью Octokit?
У меня есть частное репо на GitHub, которое я могу оценить по количеству коммитов с начала года до 611, посмотрев на График коммитов. Тем не менее, я не могу получить тот же номер, используя драгоценный камень Octokit. Я не уверен, что мои результаты ограничены по скорости или странице, или и то, и другое.
require 'octokit'
client = Octokit::Client.new(login: 'myuser', password: 'mypassword', auto_traversal: true)
commits = client.list_commits('my-repo')
puts commits.size # 30 but should be 611
commits.each do |c|
puts "#{c.commit.committer.date}\t#{c.commit.message}\n"
end
Также, auto_traversal
кажется, не имеет никакого эффекта.
1 ответ
Решение
Я не уверен, в чем заключалась сделка с octokit, однако я переключился на гем github_api, и он работает:
require 'github_api'
github = Github.new login: 'myuser', password: 'mypassword', auto_pagination: true
commits = github.repos.commits.all('myrepo-owner', 'myrepo-name')
ytd_range = (Time.new(2014, 1, 1)..Time.now)
ytd_commits = commits.select do |c|
ytd_range.cover?(Time.parse(c.commit.committer.date))
end
puts ytd_commits.size # 614