You've already forked agentic-coding-workflow
18 lines
671 B
Go
18 lines
671 B
Go
package git
|
|
|
|
import "context"
|
|
|
|
// DiffStat 返回单个 commit 的变更摘要(git show --stat),供自动文档生成喂给
|
|
// LLM 一个有界的改动概览。commitSHA 由上层从可信来源(git log / commit 返回值)
|
|
// 取得,不接受用户任意输入。--no-color 保证输出稳定,-M 检测重命名。
|
|
func (r *DefaultRunner) DiffStat(ctx context.Context, dir, commitSHA string) (string, error) {
|
|
ctx, cancel := withCtx(ctx, r.cfg.OpsTimeout)
|
|
defer cancel()
|
|
out, _, err := r.exec(ctx, dir, nil,
|
|
"show", "--no-color", "--stat", "--format=%H%n%an%n%s%n%n%b", "-M", commitSHA)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return string(out), nil
|
|
}
|