versioner

package
v1.0.1-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2019 License: MPL-2.0 Imports: 17 Imported by: 2

Documentation

Overview

Package versioner implements common interfaces for file versioning and a simple default versioning scheme.

Index

Constants

View Source
const (
	TimeFormat = "20060102-150405"
	TimeGlob   = "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]" // glob pattern matching TimeFormat
)

Variables

View Source
var Factories = map[string]func(folderID string, filesystem fs.Filesystem, params map[string]string) Versioner{}

Functions

func ExtractTag added in v0.14.44

func ExtractTag(path string) string

Returns the tag from a filename, whether at the end or middle.

func TagFilename added in v0.14.44

func TagFilename(name, tag string) string

Inserts ~tag just before the extension of the filename.

func UntagFilename added in v0.14.44

func UntagFilename(path string) (string, string)

Types

type External

type External struct {
	// contains filtered or unexported fields
}

func (External) Archive

func (v External) Archive(filePath string) error

Archive moves the named file away to a version archive. If this function returns nil, the named file does not exist any more (has been archived).

type FileVersion added in v0.14.44

type FileVersion struct {
	VersionTime time.Time `json:"versionTime"`
	ModTime     time.Time `json:"modTime"`
	Size        int64     `json:"size"`
}

type Interval

type Interval struct {
	// contains filtered or unexported fields
}

type Simple

type Simple struct {
	// contains filtered or unexported fields
}

func (Simple) Archive

func (v Simple) Archive(filePath string) error

Archive moves the named file away to a version archive. If this function returns nil, the named file does not exist any more (has been archived).

type Staggered

type Staggered struct {
	// contains filtered or unexported fields
}

func (*Staggered) Archive

func (v *Staggered) Archive(filePath string) error

Archive moves the named file away to a version archive. If this function returns nil, the named file does not exist any more (has been archived).

func (*Staggered) Serve added in v0.14.24

func (v *Staggered) Serve()

func (*Staggered) Stop added in v0.14.24

func (v *Staggered) Stop()

type Trashcan

type Trashcan struct {
	// contains filtered or unexported fields
}

func (*Trashcan) Archive

func (t *Trashcan) Archive(filePath string) error

Archive moves the named file away to a version archive. If this function returns nil, the named file does not exist any more (has been archived).

func (*Trashcan) Serve

func (t *Trashcan) Serve()

func (*Trashcan) Stop

func (t *Trashcan) Stop()

func (*Trashcan) String

func (t *Trashcan) String() string

type Versioner

type Versioner interface {
	Archive(filePath string) error
}

func NewExternal

func NewExternal(folderID string, filesystem fs.Filesystem, params map[string]string) Versioner

func NewSimple

func NewSimple(folderID string, fs fs.Filesystem, params map[string]string) Versioner

func NewStaggered

func NewStaggered(folderID string, folderFs fs.Filesystem, params map[string]string) Versioner

func NewTrashcan

func NewTrashcan(folderID string, fs fs.Filesystem, params map[string]string) Versioner

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL