Files
wehub-resource-sync a06f331eb8
install-script / powershell-syntax (push) Waiting to run
CI / benchmark (push) Has been skipped
install-script / posix-syntax (push) Successful in 6m1s
install-script / install (macos-14) (push) Waiting to run
install-script / install (ubuntu-latest) (push) Waiting to run
CI / build-onnx (push) Failing after 6m43s
init-smoke / dry-run (push) Failing after 15m57s
security / govulncheck (push) Has been cancelled
security / trivy-fs (push) Has been cancelled
CI / test (1.26, ubuntu-latest) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
CI / test (1.26, macos-latest) (push) Has been cancelled
CI / build-windows (push) Has been cancelled
CI / lint (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:33:42 +08:00

28 lines
824 B
Go

package mcp
import (
"github.com/pmezard/go-difflib/difflib"
)
// unifiedDiff renders a standard unified diff (3 lines of context) between
// oldContent and newContent, labelled with the given repo-relative path. It
// powers the dry_run previews of the edit tools so an agent can see exactly
// what a write would change — and review it — before committing the edit.
// Returns "" when the inputs are identical or a diff cannot be produced.
func unifiedDiff(path, oldContent, newContent string) string {
if oldContent == newContent {
return ""
}
out, err := difflib.GetUnifiedDiffString(difflib.UnifiedDiff{
A: difflib.SplitLines(oldContent),
B: difflib.SplitLines(newContent),
FromFile: "a/" + path,
ToFile: "b/" + path,
Context: 3,
})
if err != nil {
return ""
}
return out
}