Merge pull request 2193 from restic/allow-empty-rclone-args

rclone: Rework backend option parsing
This commit is contained in:
Alexander Neumann 2019-03-16 12:17:38 +01:00
commit aaa1cc2c26
3 changed files with 10 additions and 10 deletions

View File

@ -127,8 +127,6 @@ func New(cfg Config, lim limiter.Limiter) (*Backend, error) {
return nil, err
}
args = append(args, a...)
} else {
args = append(args, "rclone")
}
// then add the arguments
@ -139,10 +137,6 @@ func New(cfg Config, lim limiter.Limiter) (*Backend, error) {
}
args = append(args, a...)
} else {
args = append(args,
"serve", "restic", "--stdio",
"--b2-hard-delete", "--drive-use-trash=false")
}
// finally, add the remote

View File

@ -15,15 +15,19 @@ type Config struct {
Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 5)"`
}
var defaultConfig = Config{
Program: "rclone",
Args: "serve restic --stdio --b2-hard-delete --drive-use-trash=false",
Connections: 5,
}
func init() {
options.Register("rclone", Config{})
}
// NewConfig returns a new Config with the default values filled in.
func NewConfig() Config {
return Config{
Connections: 5,
}
return defaultConfig
}
// ParseConfig parses the string s and extracts the remote server URL.

View File

@ -14,7 +14,9 @@ func TestParseConfig(t *testing.T) {
"rclone:local:foo:/bar",
Config{
Remote: "local:foo:/bar",
Connections: 5,
Program: defaultConfig.Program,
Args: defaultConfig.Args,
Connections: defaultConfig.Connections,
},
},
}