kaniko/vendor/github.com/otiai10/copy
Jason Hall 6bbd8a331c
Bump deps (#1885)
```
* use go 1.17 semantics in go.mod
* pin tonistiigi/fsutil dep to match docker/docker's dep
go get -u ./...
go mod vendor
```
2022-01-21 13:59:16 -05:00
..
.gitignore Bump deps (#1885) 2022-01-21 13:59:16 -05:00
LICENSE Optimize file copying and stage saving between stages. (#605) 2019-03-13 07:47:28 -07:00
README.md Bump deps (#1885) 2022-01-21 13:59:16 -05:00
copy.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
copy_namedpipes.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
copy_namedpipes_x.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
fileinfo.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
options.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
preserve_owner.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
preserve_owner_windows.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
preserve_times.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
stat_times.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
stat_times_darwin.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
stat_times_freebsd.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
stat_times_windows.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
stat_times_x.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
test_setup.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00
test_setup_x.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00

README.md

copy

Go Reference Actions Status codecov License: MIT FOSSA Status CodeQL Go Report Card GitHub tag (latest SemVer) Docker Test Vagrant Test

copy copies directories recursively.

Example Usage

err := Copy("your/directory", "your/directory.copy")

Advanced Usage

// Options specifies optional actions on copying.
type Options struct {

	// OnSymlink can specify what to do on symlink
	OnSymlink func(src string) SymlinkAction

	// OnDirExists can specify what to do when there is a directory already existing in destination.
	OnDirExists func(src, dest string) DirExistsAction

	// Skip can specify which files should be skipped
	Skip func(src string) (bool, error)

	// AddPermission to every entry,
	// NO MORE THAN 0777
	AddPermission os.FileMode

	// Sync file after copy.
	// Useful in case when file must be on the disk
	// (in case crash happens, for example),
	// at the expense of some performance penalty
	Sync bool

	// Preserve the atime and the mtime of the entries
	// On linux we can preserve only up to 1 millisecond accuracy
	PreserveTimes bool

	// Preserve the uid and the gid of all entries.
	PreserveOwner bool

	// The byte size of the buffer to use for copying files.
	// If zero, the internal default buffer of 32KB is used.
	// See https://golang.org/pkg/io/#CopyBuffer for more information.
	CopyBufferSize uint
}
// For example...
opt := Options{
	Skip: func(src string) (bool, error) {
		return strings.HasSuffix(src, ".git"), nil
	},
}
err := Copy("your/directory", "your/directory.copy", opt)

Issues

License

FOSSA Status