MCPcopy
hub / github.com/perkeep/perkeep / Diff

Function Diff

pkg/test/diff.go:27–51  ·  view source on GitHub ↗

Diff returns the unified diff (from running "diff -u") or returns an error string.

(a, b []byte)

Source from the content-addressed store, hash-verified

25// Diff returns the unified diff (from running "diff -u") or
26// returns an error string.
27func Diff(a, b []byte) string {
28 if bytes.Equal(a, b) {
29 return ""
30 }
31 ta, err := os.CreateTemp("", "")
32 if err != nil {
33 return err.Error()
34 }
35 tb, err := os.CreateTemp("", "")
36 if err != nil {
37 return err.Error()
38 }
39 defer os.Remove(ta.Name())
40 defer os.Remove(tb.Name())
41 // Lqzy...
42 ta.Write(a)
43 tb.Write(b)
44 ta.Close()
45 tb.Close()
46 out, err := exec.Command("diff", "-u", ta.Name(), tb.Name()).CombinedOutput()
47 if err != nil && len(out) == 0 {
48 return err.Error()
49 }
50 return string(out)
51}

Callers 2

testMethod · 0.92
compareConfigurationsFunction · 0.92

Calls 7

EqualMethod · 0.80
RemoveMethod · 0.65
NameMethod · 0.65
CloseMethod · 0.65
CommandMethod · 0.65
ErrorMethod · 0.45
WriteMethod · 0.45

Tested by 2

testMethod · 0.74
compareConfigurationsFunction · 0.74