diff options
Diffstat (limited to 'src/pkg/patch/apply.go')
| -rw-r--r-- | src/pkg/patch/apply.go | 54 | 
1 files changed, 0 insertions, 54 deletions
| diff --git a/src/pkg/patch/apply.go b/src/pkg/patch/apply.go deleted file mode 100644 index 0dd9080bf..000000000 --- a/src/pkg/patch/apply.go +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2009 The Go Authors.  All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package patch - -import "os" - -// An Op is a single operation to execute to apply a patch. -type Op struct { -	Verb Verb   // action -	Src  string // source file -	Dst  string // destination file -	Mode int    // mode for destination (if non-zero) -	Data []byte // data for destination (if non-nil) -} - -// Apply applies the patch set to the files named in the patch set, -// constructing an in-memory copy of the new file state. -// It is the client's job to write the changes to the file system -// if desired. -// -// The function readFile should return the contents of the named file. -// Typically this function will be io.ReadFile. -// -func (set *Set) Apply(readFile func(string) ([]byte, os.Error)) ([]Op, os.Error) { -	op := make([]Op, len(set.File)) - -	for i, f := range set.File { -		o := &op[i] -		o.Verb = f.Verb -		o.Src = f.Src -		o.Dst = f.Dst -		o.Mode = f.NewMode -		if f.Diff != NoDiff || o.Verb != Edit { -			// Clients assume o.Data == nil means no data diff. -			// Start with a non-nil data. -			var old []byte = make([]byte, 0) // not nil -			var err os.Error -			if f.Src != "" { -				old, err = readFile(f.Src) -				if err != nil { -					return nil, &os.PathError{string(f.Verb), f.Src, err} -				} -			} -			o.Data, err = f.Diff.Apply(old) -			if err != nil { -				return nil, &os.PathError{string(f.Verb), f.Src, err} -			} -		} -	} - -	return op, nil -} | 
