working on demo ...
# 统计配置 中 所有 仓库的 代 码变更
RUST_LOG=trace git-stat --format table --since 2024-01-01 --until 2024-03-31
flowchart TD
Start --> source{input --source} --> |Y|detail.csv
source --> |N|config{.git-stat.yml}
config --> |Y|parse --> R1(repos) -->|parallel| R2(commit collect)
R2 --> commit-list(commit info) --> detail.csv --> polars
config --> |N|generate? --> config
polars(polars calc) --> sqlparse? --> summary --> output --> |csv|csv
output --> |polar|terminal
output --> |table|tui
tui-->filter(input condition) --> polars
- 并行计算统计
克 隆 repo,可能 有 多 个,放 到 一 个目录下./repos
指定 repo分 支 - 统计
所有 commit信 息 路 径 过滤支持 (pathspec fnmatch语法)- 单个commit:
- repo
- date
- branch
- commit_id
- author
- insertions
- deletions
- message
- 统计
作者 alias聚合: config authors定 义- insertions/deletions sum
- 时间过滤: --since --until
- 输出
一 份detail文 件 作 为过程
支持 MR识别(这部分 代 码不应统计,如果一 个commit parent_count > 1,则应该是合 并commit)- polars
加 载和计算detail.csv:交互 式 的 ,下面 展示 结果,上面 input输入信 息
- output
- csv
- tui(ratatui)
- table
- graph
rustup
。x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
x86_64-pc-windows-gnu
为例,
rustup target add x86_64-pc-windows-gnu
对于简单Cargo.toml
现在,你可以使
# brew install mingw-w64 // macos安 装
cargo build --target=x86_64-pc-windows-gnu
这将target/x86_64-pc-windows-gnu/debug/
- 链接
器 :使用 x86_64-pc-windows-gnu
工具 链时,Cargo默 认会尝试使用 MinGW-w64提供 的 链接器 。如果遇 到 找不到 链接器 的 问题,你可能 需要 安 装 MinGW-w64或 确保其路径 被 正 确配置 到 系 统PATH中 。 - DLLs: 如果你的
程 序 依 赖于动态库(DLLs),在 Windows上 运行时需要 确保这些DLLs可用 。交叉 编译不 会 生成 这些DLLs,你可能 需要 从适当 的 地方 获取它们。 - UI
框 架 : 如果你的程 序 使用 了 特定 于操作 系 统的UI框 架 (如Windows的 winapi),请确保 你的代 码适当地 处理了 平台 差 异。