我知道如何通过 API 以及 SHA 和所有这些好东西来获取文件的提交。
但是,假设我只想要 1 次提交中的文件差异或两次提交中同一文件的差异。
例如,在这个 commit中,假设我只想要, :counter_sql
.activerecord/lib/active_record/associations.rb
如何通过 API 获取该差异数据?
我正在使用 Octokit.rb。
编辑 1
根据这篇博客文章,这似乎是可能的,但我只是不确定如何使用 Octokit 来做到这一点。
编辑 2
所以,我有点想一点一点。
要获取两个提交之间的差异数据,我可以像这样比较两个提交。
a
所以,假设我在两个变量中都有两个提交的两个 SHA b
,我会做这样的事情:
client = Octokit::Client.new(access_token: ENV["MY_ACCESS_TOKEN"])
comparison = client.compare("rails/rails", a, b, path: "activerecord/lib/active_record/associations.rb")
这个问题是这会导致两个提交之间存在差异,其中包括对许多其他文件的更改以及很多我不想要的信息。
我想要的只是这两个提交中这个特定文件的差异。
我还没想好怎么做。
想法?