Kenfe-Mickael Laventure 8c340b7edf Add missing go-difflib vendoring %!s(int64=8) %!d(string=hai) anos
..
difflib 32425d3add Add deps to test compose-file. %!s(int64=8) %!d(string=hai) anos
LICENSE 32425d3add Add deps to test compose-file. %!s(int64=8) %!d(string=hai) anos
README.md 8c340b7edf Add missing go-difflib vendoring %!s(int64=8) %!d(string=hai) anos

README.md

go-difflib

Build Status GoDoc

Go-difflib is a partial port of python 3 difflib package. Its main goal was to make unified and context diff available in pure Go, mostly for testing purposes.

The following class and functions (and related tests) have be ported:

  • SequenceMatcher
  • unified_diff()
  • context_diff()

Installation

$ go get github.com/pmezard/go-difflib/difflib

Quick Start

Diffs are configured with Unified (or ContextDiff) structures, and can be output to an io.Writer or returned as a string.

diff := UnifiedDiff{
    A:        difflib.SplitLines("foo\nbar\n"),
    B:        difflib.SplitLines("foo\nbaz\n"),
    FromFile: "Original",
    ToFile:   "Current",
    Context:  3,
}
text, _ := GetUnifiedDiffString(diff)
fmt.Printf(text)

would output:

--- Original
+++ Current
@@ -1,3 +1,3 @@
 foo
-bar
+baz