#git-log #git-history #data-file #point #collect #repo #once

bin+lib git-historian

Git Historian 允许您收集关于文件在其 Git 历史中每个点的任意数据。将其视为“git log --follow”用于存储库中的每个文件,一次全部完成。

3 个不稳定版本

使用旧的 Rust 2015

0.4.0 2017 年 3 月 4 日
0.3.4 2017 年 3 月 4 日
0.3.3 2016 年 11 月 14 日
0.3.2 2016 年 11 月 13 日

#git-history 中排名 #27

GPL-2.0 许可证

21KB
336

Git Historian 允许您收集关于文件在其 Git 历史中每个点的任意数据。

将其视为 git log --follow 用于存储库中的每个文件,一次全部完成。

为什么?

它对于需要了解文件历史的自动化任务很有用,例如,在文件被修改的年份更新每个源文件的版权头(因为法律如此规定)。

如何?

库通过解析 git log --name-status 的输出来收集提交信息,然后构建我们关心的所有文件的历

为什么选择 Rust?

因为 它很棒(并且我想在真正的项目上尝试一下)。


lib.rs:

此包通过解析 git log --name-status 来分析 Git 存储库,然后为提供的文件列表构建历史树。

在每个节点(对应于文件历史中的增量),提供一个用户定义的回调来收集所需信息。

请参阅 main.rs 以获取快速演示。

依赖关系

~0.6–1MB
~14K SLoC