Skip to content

Commit 792786c

Browse files
committed
Merge branch 'shazow-master'
2 parents e8554b8 + 4d60064 commit 792786c

File tree

2 files changed

+48
-9
lines changed

2 files changed

+48
-9
lines changed

difflib/difflib.go

+13-9
Original file line numberDiff line numberDiff line change
@@ -585,13 +585,15 @@ func WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error {
585585
if len(diff.ToDate) > 0 {
586586
toDate = "\t" + diff.ToDate
587587
}
588-
err := wf("--- %s%s%s", diff.FromFile, fromDate, diff.Eol)
589-
if err != nil {
590-
return err
591-
}
592-
err = wf("+++ %s%s%s", diff.ToFile, toDate, diff.Eol)
593-
if err != nil {
594-
return err
588+
if diff.FromFile != "" || diff.ToFile != "" {
589+
err := wf("--- %s%s%s", diff.FromFile, fromDate, diff.Eol)
590+
if err != nil {
591+
return err
592+
}
593+
err = wf("+++ %s%s%s", diff.ToFile, toDate, diff.Eol)
594+
if err != nil {
595+
return err
596+
}
595597
}
596598
}
597599
first, last := g[0], g[len(g)-1]
@@ -710,8 +712,10 @@ func WriteContextDiff(writer io.Writer, diff ContextDiff) error {
710712
if len(diff.ToDate) > 0 {
711713
toDate = "\t" + diff.ToDate
712714
}
713-
wf("*** %s%s%s", diff.FromFile, fromDate, diff.Eol)
714-
wf("--- %s%s%s", diff.ToFile, toDate, diff.Eol)
715+
if diff.FromFile != "" || diff.ToFile != "" {
716+
wf("*** %s%s%s", diff.FromFile, fromDate, diff.Eol)
717+
wf("--- %s%s%s", diff.ToFile, toDate, diff.Eol)
718+
}
715719
}
716720

717721
first, last := g[0], g[len(g)-1]

difflib/difflib_test.go

+35
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,41 @@ func TestOutputFormatNoTrailingTabOnEmptyFiledate(t *testing.T) {
357357
assertEqual(t, SplitLines(cd)[:2], []string{"*** Original\n", "--- Current\n"})
358358
}
359359

360+
func TestOmitFilenames(t *testing.T) {
361+
diff := UnifiedDiff{
362+
A: SplitLines("o\nn\ne\n"),
363+
B: SplitLines("t\nw\no\n"),
364+
Eol: "\n",
365+
}
366+
ud, err := GetUnifiedDiffString(diff)
367+
assertEqual(t, err, nil)
368+
assertEqual(t, SplitLines(ud), []string{
369+
"@@ -0,0 +1,2 @@\n",
370+
"+t\n",
371+
"+w\n",
372+
"@@ -2,2 +3,0 @@\n",
373+
"-n\n",
374+
"-e\n",
375+
"\n",
376+
})
377+
378+
cd, err := GetContextDiffString(ContextDiff(diff))
379+
assertEqual(t, err, nil)
380+
assertEqual(t, SplitLines(cd), []string{
381+
"***************\n",
382+
"*** 0 ****\n",
383+
"--- 1,2 ----\n",
384+
"+ t\n",
385+
"+ w\n",
386+
"***************\n",
387+
"*** 2,3 ****\n",
388+
"- n\n",
389+
"- e\n",
390+
"--- 3 ----\n",
391+
"\n",
392+
})
393+
}
394+
360395
func TestSplitLines(t *testing.T) {
361396
allTests := []struct {
362397
input string

0 commit comments

Comments
 (0)