Как узнать количество коммитов на репозиторий 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
Другие вопросы по тегам