使用 gitpython 区分来自拉取请求的更改

Using gitpython to diff changes from a pull request

我正在尝试编写一个将由拉取请求 github webhook 触发的脚本。当这个脚本被触发时,它需要找出哪些文件被从master修改为newBranch。一天结束时,我将通读这些文件,验证没有做出重大更改,然后写下它 should/shouldn 未合并的原因并将其发送给人工确认。

我正在使用 gitpython(或者,更确切地说,正在尝试),但文档并没有真正涵盖 PR 用例。

到目前为止我的代码看起来像这样,但我不相信我做的事情是正确的:

repo = git.Repo('.')
repo.config_reader()
for d in repo.index.diff(repo.remotes.origin.refs.master.commit):
  print d
  print d.diff

我想我不确定 PR 中的索引是什么,所以我不相信这是在区分正确的东西。当我在测试回购中尝试时,我没有看到任何差异,除非我手动修复合并冲突,所以我怀疑我没有正确地做事。

能否请您帮助我编写代码,或者建议我可以用来测试此脚本的工作流程?我越看越糊涂。

这不是正确的方法。

PR 不是 git 概念;他们是 Github 个。您不能为此使用 gitpython。您将不得不使用 Github 自己的 API,其中有 several third-party libraries.