manifest

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2022 License: MIT Imports: 15 Imported by: 0

README

c4 Manifest

This subdirectory contains the c4 manifest package.

While the c4 package (parent directory) is stable this package is under active development and may change at any time. It will be noted here when the API becomes stable.

Documentation

Index

Constants

View Source
const (
	OS_READ        = 04
	OS_WRITE       = 02
	OS_EX          = 01
	OS_USER_SHIFT  = 6
	OS_GROUP_SHIFT = 3
	OS_OTH_SHIFT   = 0

	OS_USER_R   = OS_READ << OS_USER_SHIFT
	OS_USER_W   = OS_WRITE << OS_USER_SHIFT
	OS_USER_X   = OS_EX << OS_USER_SHIFT
	OS_USER_RW  = OS_USER_R | OS_USER_W
	OS_USER_RWX = OS_USER_RW | OS_USER_X

	OS_GROUP_R   = OS_READ << OS_GROUP_SHIFT
	OS_GROUP_W   = OS_WRITE << OS_GROUP_SHIFT
	OS_GROUP_X   = OS_EX << OS_GROUP_SHIFT
	OS_GROUP_RW  = OS_GROUP_R | OS_GROUP_W
	OS_GROUP_RWX = OS_GROUP_RW | OS_GROUP_X

	OS_OTH_R   = OS_READ << OS_OTH_SHIFT
	OS_OTH_W   = OS_WRITE << OS_OTH_SHIFT
	OS_OTH_X   = OS_EX << OS_OTH_SHIFT
	OS_OTH_RW  = OS_OTH_R | OS_OTH_W
	OS_OTH_RWX = OS_OTH_RW | OS_OTH_X

	OS_ALL_R   = OS_USER_R | OS_GROUP_R | OS_OTH_R
	OS_ALL_W   = OS_USER_W | OS_GROUP_W | OS_OTH_W
	OS_ALL_X   = OS_USER_X | OS_GROUP_X | OS_OTH_X
	OS_ALL_RW  = OS_ALL_R | OS_ALL_W
	OS_ALL_RWX = OS_ALL_RW | OS_GROUP_X
)

Variables

This section is empty.

Functions

func Diff

func Diff(a nilList, b nilList) nilList

func ParseFileMode

func ParseFileMode(input string) (os.FileMode, error)

Types

type FileInfo

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

func MakeFileInfo

func MakeFileInfo(mode os.FileMode, size int64, mtime time.Time, name string, id, metadata c4.ID) *FileInfo

func NewFileInfo

func NewFileInfo(info os.FileInfo, ids ...c4.ID) *FileInfo

func ParseFileInfo

func ParseFileInfo(line string) (*FileInfo, error)

func (*FileInfo) ID

func (i *FileInfo) ID() c4.ID

func (*FileInfo) IsDir

func (i *FileInfo) IsDir() bool

func (*FileInfo) MarshalJson

func (i *FileInfo) MarshalJson() ([]byte, error)

func (*FileInfo) Metadata

func (i *FileInfo) Metadata() c4.ID

func (*FileInfo) MkString

func (i *FileInfo) MkString(sizepadding, namepadding int) infoStringer

func (*FileInfo) ModTime

func (i *FileInfo) ModTime() time.Time

func (*FileInfo) Mode

func (i *FileInfo) Mode() os.FileMode

func (*FileInfo) Name

func (i *FileInfo) Name() string

func (*FileInfo) Size

func (i *FileInfo) Size() int64

func (*FileInfo) Sys

func (i *FileInfo) Sys() interface{}

func (*FileInfo) UnmarshalJson

func (i *FileInfo) UnmarshalJson(data []byte) error

type M

type M map[string]*FileInfo

Manifest type

func NewManifest

func NewManifest() *M

func (*M) Get

func (mm *M) Get(path string) *FileInfo

func (p paths) Len() int { return len(p) } func (p paths) Swap(i, j int) { p[i], p[j] = p[j], p[i] } func (p paths) Less(i, j int) bool { return bytes.Compare(p[i], p[j]) < 0 }

func (*M) Len

func (mm *M) Len() int

func (*M) Marshal

func (mm *M) Marshal() ([]byte, error)

func (*M) Paths

func (mm *M) Paths() []string

func (*M) SetFileInfo

func (mm *M) SetFileInfo(path string, info os.FileInfo)

func (*M) SetId

func (mm *M) SetId(path string, id c4.ID)

func (*M) SetMetadata

func (mm *M) SetMetadata(path string, id c4.ID)

func (*M) Unmarshal

func (mm *M) Unmarshal(r io.Reader) error

type MDB

type MDB struct {
	Db *bolt.DB
	// contains filtered or unexported fields
}

func NewDb

func NewDb(db *bolt.DB, storagepath string) *MDB

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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