目标
我正在用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
我到底需要什么?
- 将git diff文件列表作为输入
- 计算在每个diff文件中有多少行被更改(可选),添加和删除
- 总结
- 打印"添加总行= X,删除总行= y";等。
运行此脚本的系统不能访问git存储库,也没有安装git——这引入了一个有趣的复杂问题。
我通过Python访问API或编写代码手动计算东西没有问题。我唯一的问题就是我上面提到的。
存储库托管在GitHub上,并且允许使用GitHub特有的功能。
其他来源我查过了,所以我知道关于这个话题有很多类似的问题。我只是很难找到我在Python中寻找的东西,而不直接在存储库中使用git
…(如果有人能给我一个解决方案,我很高兴结束这个)
那么,有什么想法吗?我假设我可以手动解析每个diff文件并总结它,但我希望从git魔术师那里得到一个银弹!
事实证明,GitHub API已经提供了这些差异统计,而不需要在本地安装git
或检出存储库。
GitHub文档
因为这对我的情况来说已经足够好了,所以我将使用它。尽管如此,仍然欢迎新的答案。