Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶ added in v1.1.0
type Options struct {
// OnSymlink can specify what to do on symlink
OnSymlink func(src string) SymlinkAction
// Skip can specify which files should be skipped
Skip func(src string) (bool, error)
// AddPermission to every entities,
// 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
}
Options specifies optional actions on copying.
Example ¶
err := Copy(
"testdata/example",
"testdata.copy/example_with_options",
Options{
Skip: func(src string) (bool, error) {
return strings.HasSuffix(src, ".git-like"), nil
},
OnSymlink: func(src string) SymlinkAction {
return Skip
},
AddPermission: 0200,
},
)
fmt.Println("Error:", err)
_, err = os.Stat("testdata.copy/example_with_options/.git-like")
fmt.Println("Skipped:", os.IsNotExist(err))
Output: Error: <nil> Skipped: true
type SymlinkAction ¶ added in v1.1.0
type SymlinkAction int
SymlinkAction represents what to do on symlink.
const ( // Deep creates hard-copy of contents. Deep SymlinkAction = iota // Shallow creates new symlink to the dest of symlink. Shallow // Skip does nothing with symlink. Skip )
Click to show internal directories.
Click to hide internal directories.