30 lines
704 B
Go
30 lines
704 B
Go
|
package diff
|
||
|
|
||
|
import (
|
||
|
"io"
|
||
|
"io/ioutil"
|
||
|
|
||
|
"github.com/icedream/go-bsdiff/internal/native"
|
||
|
)
|
||
|
|
||
|
/*
|
||
|
Diff generates a raw patch from old content that will be read in completely from
|
||
|
oldReader and new content that will be read in completely from newReader and
|
||
|
saves that patch to patchWriter.
|
||
|
|
||
|
It may be helpful to save away the new content size along with the actual
|
||
|
patch as it will be needed in order to reuse the patch.
|
||
|
*/
|
||
|
func Diff(oldReader, newReader io.Reader, patchWriter io.Writer) (err error) {
|
||
|
oldBytes, err := ioutil.ReadAll(oldReader)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
newBytes, err := ioutil.ReadAll(newReader)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
return native.Diff(oldBytes, newBytes, patchWriter)
|
||
|
}
|