在不使用Git命令的情况下从Git diff文件中获取GitHub repo的更改行



目标

我正在用Python构建一个git stats脚本,它只能访问历史git diff补丁,所以基本上文件像这样

diff --git a/README b/README
index 980a0d5f..fef29374 100644
--- a/README
+++ b/README
@@ -1 +1,3 @@
Hello World!
+
+Hello planet! - DD
 No newline at end of file

我到底需要什么?

  1. 将git diff文件列表作为输入
  2. 计算在每个diff文件中有多少行被更改(可选),添加和删除
  3. 总结
  4. 打印"添加总行= X,删除总行= y";等。

运行此脚本的系统不能访问git存储库,也没有安装git——这引入了一个有趣的复杂问题。

我通过Python访问API或编写代码手动计算东西没有问题。我唯一的问题就是我上面提到的。

存储库托管在GitHub上,并且允许使用GitHub特有的功能。

其他来源我查过了,所以我知道关于这个话题有很多类似的问题。我只是很难找到我在Python中寻找的东西,而不直接在存储库中使用git(如果有人能给我一个解决方案,我很高兴结束这个)


那么,有什么想法吗?我假设我可以手动解析每个diff文件并总结它,但我希望从git魔术师那里得到一个银弹!

事实证明,GitHub API已经提供了这些差异统计,而不需要在本地安装git或检出存储库。

GitHub文档

因为这对我的情况来说已经足够好了,所以我将使用它。尽管如此,仍然欢迎新的答案。

相关内容

  • 没有找到相关文章

最新更新