git-sync-web 自动提交 2026-09-09 12:49:43
This commit is contained in:
@@ -1405,11 +1405,12 @@ func (e *Engine) WorkingDiff(name, scope string) (*DiffResult, error) {
|
|||||||
statArgs = append(statArgs, "--stat")
|
statArgs = append(statArgs, "--stat")
|
||||||
}
|
}
|
||||||
if statOut, serr := gitRun(s.cfg.RepoPath, 30*time.Second, statArgs...); serr == nil {
|
if statOut, serr := gitRun(s.cfg.RepoPath, 30*time.Second, statArgs...); serr == nil {
|
||||||
|
statOut = stripWarnings(statOut)
|
||||||
res.Stat = statOut
|
res.Stat = statOut
|
||||||
res.Files = parseStatFiles(statOut)
|
res.Files = parseStatFiles(statOut)
|
||||||
}
|
}
|
||||||
if textOut, terr := gitRun(s.cfg.RepoPath, 60*time.Second, args...); terr == nil {
|
if textOut, terr := gitRun(s.cfg.RepoPath, 60*time.Second, args...); terr == nil {
|
||||||
res.Text = textOut
|
res.Text = stripWarnings(textOut)
|
||||||
} else {
|
} else {
|
||||||
res.Text = terr.Error()
|
res.Text = terr.Error()
|
||||||
}
|
}
|
||||||
@@ -1419,6 +1420,19 @@ func (e *Engine) WorkingDiff(name, scope string) (*DiffResult, error) {
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// stripWarnings 去掉 git 在 stderr 输出的环境告警(如 autocrlf 提示),避免污染差异展示
|
||||||
|
func stripWarnings(s string) string {
|
||||||
|
lines := strings.Split(s, "\n")
|
||||||
|
out := make([]string, 0, len(lines))
|
||||||
|
for _, l := range lines {
|
||||||
|
if strings.HasPrefix(l, "warning:") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
out = append(out, l)
|
||||||
|
}
|
||||||
|
return strings.Join(out, "\n")
|
||||||
|
}
|
||||||
|
|
||||||
// parseStatFiles 解析 `git diff --stat` 输出为单文件增删统计
|
// parseStatFiles 解析 `git diff --stat` 输出为单文件增删统计
|
||||||
func parseStatFiles(stat string) []DiffFile {
|
func parseStatFiles(stat string) []DiffFile {
|
||||||
var files []DiffFile
|
var files []DiffFile
|
||||||
|
|||||||
Reference in New Issue
Block a user