gpt4 book ai didi

ruby - 我可以通过 GH API 获取一个文件在两次提交之间的差异数据吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:59:54 24 4
gpt4 key购买 nike

我知道如何通过 API 以及 SHA 和所有其他好东西获取文件的提交。

但是,假设我只想要一个文件在 1 次提交中的差异或同一文件在两次提交中的差异。

例如,在 this commit 中,假设我只想要 activerecord/lib/active_record/associations.rb 中的 , :counter_sql

如何通过 API 获取差异数据?

我正在使用 Octokit.rb。

编辑 1

看来这个是可以的per this blog post , 但我只是不确定如何使用 Octokit 来做到这一点。

编辑2

所以,我有点一点一点弄清楚了。

要获取两次提交之间的差异数据,我可以比较 two commits like this .

所以,假设我在两个变量 ab 中有两个提交的两个 SHA,我会做这样的事情:

client = Octokit::Client.new(access_token: ENV["MY_ACCESS_TOKEN"])
comparison = client.compare("rails/rails", a, b, path: "activerecord/lib/active_record/associations.rb")

这个问题是这会导致两次提交之间存在差异,其中包括对许多其他文件的更改和大量我不想要的信息。

我想要的只是这两个提交与这个特定文件的差异。

我还没有弄清楚该怎么做。

想法?

最佳答案

不,不可能。

您可以使用比较 API 来获取两次提交之间的差异,这将包括所有文件,而不仅仅是您所观察到的您感兴趣的文件。因此,您需要在自己这边进行一些过滤。

另一种方法可能是在提交 X 和提交 Y 时获取文件的内容,然后在您这边计算这两个文件版本之间的差异(通常没有用于差异的 GitHub API)。您可以使用 Contents API 来获取文件的原始版本。

https://developer.github.com/v3/repos/contents/#get-contents

关于ruby - 我可以通过 GH API 获取一个文件在两次提交之间的差异数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com