使用 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.
我正在尝试编写一个将由拉取请求 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.