CLI git log 统计

4
我面临的任务是生成关于Git项目历史的统计数据,需要为各种指标生成一些特定的数字和表示方法,例如作者每次提交的数量,提交时间/日期直方图等等。问题在于,我需要将所有这些数据生成为可以通过脚本或类似方式处理的格式 - 输出必须是文本,并且如果我能将数字转换为Python(或类似语言)脚本,那就更好了。
我的问题是:是否有任何现有的框架或项目可以提供这样的接口?我看到了GitStats,它做了很多我想要的事情,但它将结果转储到HTML结构中,而不是向我提供文本或编程表示形式。例如,是否有Git日志解析器的Python绑定,甚至是返回大量文本数据的Git统计信息生成器?
我意识到这是一个非常具体的需求,我愿意进行一些严肃的编码工作,以获得我想要的精确格式,但我希望能够找到一个起点。有什么想法吗?

1
似乎正确的方法是尝试让GitStats产生所需的输出格式。它已经用Python编写了。其中有一个HTMLReportCreator,大约550行代码,但您可以只替换掉它或者甚至只获取传递给它的数据结构即可。def create(self, data, path)。这对你不好吗? - Cascabel
Jefromi:这肯定是可能的。我看了一下,似乎data是一个GitDataCollector实例(项目内部的自定义类),而不是字典或其他Python数据结构。不过,这是一个很好的开始。感谢指引! - Tim
Jefromi:经过更多的考虑,我已经开始开发自己的库,但如果您将您的评论发布为答案,我会接受它 - 它是让我思考这个问题最好的解决方案的东西。 - Tim
1个回答

1

使用XML日志如何?然后你可以相对容易地在Python中解析XML并构建统计数据。

查看此答案,了解如何从Git获取XML日志。


XML日志会很好,但是那个答案没有提供如何从Git中获取XML日志的信息 - 我相信那里的回答者误将另一个答案中的格式字符串(来自另一个用户的个人首选格式)误认为是XML。请参考:https://dev59.com/XnM_5IYBdhLWcg3wSBEU - Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接