restic/internal/backend/local/config.go

38 lines
791 B
Go
Raw Normal View History

2015-12-28 14:51:24 +00:00
package local
import (
"strings"
2017-07-23 12:21:03 +00:00
"github.com/restic/restic/internal/errors"
"github.com/restic/restic/internal/options"
2015-12-28 14:51:24 +00:00
)
2017-03-25 12:20:03 +00:00
// Config holds all information needed to open a local repository.
type Config struct {
2024-08-26 18:28:39 +00:00
Path string
Connections uint `option:"connections" help:"set a limit for the number of concurrent operations (default: 2)"`
}
// NewConfig returns a new config with default options applied.
func NewConfig() Config {
return Config{
Connections: 2,
}
}
func init() {
options.Register("local", Config{})
2017-03-25 12:20:03 +00:00
}
2015-12-28 14:51:24 +00:00
// ParseConfig parses a local backend config.
func ParseConfig(s string) (*Config, error) {
if !strings.HasPrefix(s, "local:") {
return nil, errors.New(`invalid format, prefix "local" not found`)
2015-12-28 14:51:24 +00:00
}
cfg := NewConfig()
cfg.Path = s[6:]
return &cfg, nil
2015-12-28 14:51:24 +00:00
}