如何使用Octokit查找GitHub存储库的提交数量?

时间:2014-11-14 19:30:57

标签: ruby github octokit

我在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似乎没有任何效果。

1 个答案:

答案 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