我在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
似乎没有任何效果。
答案 0 :(得分: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