commit | 323db161ae97db91e6e13dbcda403fdb29c3fff8 | [log] [tgz] |
---|---|---|
author | Hiromu OCHIAI <otiai10@gmail.com> | Tue Nov 09 23:21:10 2021 |
committer | Hiromu OCHIAI <otiai10@gmail.com> | Tue Nov 09 23:21:10 2021 |
tree | b61c9cf3260ce7e7b112ba16c17b8a4fe4aaa302 | |
parent | 897600cebe22c9832f1a158709f16da49818995f [diff] |
Update README
copy
copies directories recursively.
err := Copy("your/directory", "your/directory.copy")
// 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)