Documentation ¶
Index ¶
- func Changes(ctx context.Context, a, b walkerFn, changeFn ChangeFunc) error
- func ComparePath(p1, p2 string) int
- func FollowLinks(fs FS, paths []string) ([]string, error)
- func Receive(ctx context.Context, conn Stream, dest string, opt ReceiveOpt) error
- func Send(ctx context.Context, conn Stream, fs FS, progressCb func(int, bool)) error
- func Stat(path string) (*types.Stat, error)
- func Walk(ctx context.Context, p string, opt *FilterOpt, fn filepath.WalkFunc) error
- func WalkDir(ctx context.Context, p string, opt *FilterOpt, fn gofs.WalkDirFunc) error
- func WriteTar(ctx context.Context, fs FS, w io.Writer) error
- type ChangeFunc
- type ChangeKind
- type ContentHasher
- type DiffType
- type Dir
- type DirEntryInfo
- type DiskWriter
- type DiskWriterOpt
- type FS
- type FilterFunc
- type FilterOpt
- type HandleChangeFn
- type Hardlinks
- type MapFunc
- type MapResult
- type ReceiveOpt
- type StatInfo
- type Stream
- type Validator
- type WriteToFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComparePath ¶
Types ¶
type ChangeFunc ¶
ChangeFunc is the type of function called for each change computed during a directory changes calculation.
type ChangeKind ¶
type ChangeKind int
ChangeKind is the type of modification that a change is making.
const ( // ChangeKindAdd represents an addition of // a file ChangeKindAdd ChangeKind = iota // ChangeKindModify represents a change to // an existing file ChangeKindModify // ChangeKindDelete represents a delete of // a file ChangeKindDelete )
func (ChangeKind) String ¶
func (k ChangeKind) String() string
type DirEntryInfo ¶
func (*DirEntryInfo) IsDir ¶
func (s *DirEntryInfo) IsDir() bool
func (*DirEntryInfo) Name ¶
func (s *DirEntryInfo) Name() string
func (*DirEntryInfo) Type ¶
func (s *DirEntryInfo) Type() gofs.FileMode
type DiskWriter ¶
type DiskWriter struct {
// contains filtered or unexported fields
}
func NewDiskWriter ¶
func NewDiskWriter(ctx context.Context, dest string, opt DiskWriterOpt) (*DiskWriter, error)
func (*DiskWriter) HandleChange ¶
func (dw *DiskWriter) HandleChange(kind ChangeKind, p string, fi os.FileInfo, err error) (retErr error)
type DiskWriterOpt ¶
type DiskWriterOpt struct { AsyncDataCb WriteToFunc SyncDataCb WriteToFunc NotifyCb func(ChangeKind, string, os.FileInfo, error) error ContentHasher ContentHasher Filter FilterFunc }
type FS ¶
type FS interface { Walk(context.Context, string, gofs.WalkDirFunc) error Open(string) (io.ReadCloser, error) }
func NewFilterFS ¶
NewFilterFS creates a new FS that filters the given FS using the given FilterOpt.
The returned FS will not contain any paths that do not match the provided include and exclude patterns, or that are are excluded using the mapping function.
The FS is assumed to be a snapshot of the filesystem at the time of the call to NewFilterFS. If the underlying filesystem changes, calls to the underlying FS may be inconsistent.
func WithHardlinkReset ¶
WithHardlinkReset returns a FS that fixes hardlinks for FS that has been filtered so that original hardlink sources might be missing
type FilterOpt ¶
type FilterOpt struct { // IncludePatterns requires that the path matches at least one of the // specified patterns. IncludePatterns []string // ExcludePatterns requires that the path does not match any of the // specified patterns. ExcludePatterns []string // FollowPaths contains symlinks that are resolved into IncludePatterns // at the time of the call to NewFilterFS. FollowPaths []string // Map is called for each path that is included in the result. // The function can modify the stat info for each element, while the result // of the function controls both how Walk continues. Map MapFunc }
type HandleChangeFn ¶
type Hardlinks ¶
type Hardlinks struct {
// contains filtered or unexported fields
}
func (*Hardlinks) HandleChange ¶
type MapResult ¶
type MapResult int
The result of the walk function controls both how WalkDir continues and whether the path is kept.
const ( // Keep the current path and continue. MapResultKeep MapResult = iota // Exclude the current path and continue. MapResultExclude // Exclude the current path, and skip the rest of the dir. // If path is a dir, skip the current directory. // If path is a file, skip the rest of the parent directory. // (This matches the semantics of fs.SkipDir.) MapResultSkipDir )
type ReceiveOpt ¶
type ReceiveOpt struct { NotifyHashed ChangeFunc ContentHasher ContentHasher ProgressCb func(int, bool) Merge bool Filter FilterFunc Differ DiffType }
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}