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

时间:2016-11-16 18:33:42

标签: python git diff pull-request gitpython

我试图写一个由拉请求github webhook触发的脚本。触发此脚本时,需要找出从masternewBranch修改了哪些文件。一天结束,我将通读这些文件,确认没有进行任何重大更改,然后写出为什么它应该/不应该合并并将其发送给人类进行确认。

我正在使用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中的索引是什么,所以我不相信这会使正确的事情变得困难。当我在测试回购中尝试时,除非我手动修复合并冲突,否则我不会看到任何差异,所以我怀疑我没有正确地做事。

您能帮我解释一下代码,或者建议我可以用来测试这个脚本的工作流程吗?我越是看到这一点,我就越搞砸了。

1 个答案:

答案 0 :(得分:0)

这不是正确的方法。

PR不是一个git概念;他们是Github之一。你不能使用gitpython。您必须使用Github自己的API,其中有several third-party libraries