0

我在 GitHub 上有一个私人仓库,通过查看 Commits Graph,我可以估计今年迄今为止的提交数量约为 611。但是,我无法使用 Octokit gem 获得相同的数字。我不确定我的结果是速率限制还是页面限制,或两者兼而有之。

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好像没什么效果。

4

1 回答 1

0

我不确定与octokit有什么关系,不过,我切换到github_api gem并且它可以工作:

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
于 2014-11-14T20:24:39.377 回答