874d66658e
After the config re-organisation, the setting of stringArray config values (eg `--exclude` set with `RCLONE_EXCLUDE`) was broken and gave a message like this for `RCLONE_EXCLUDE=*.jpg`: Failed to load "filter" default values: failed to initialise "filter" options: couldn't parse config item "exclude" = "*.jpg" as []string: parsing "*.jpg" as []string failed: invalid character '/' looking for beginning of value This was caused by the parser trying to parse the input string as a JSON value. When the config was re-organised it was thought that the internal representation of stringArray values was not important as it was never visible externally, however this turned out not to be true. A defined representation was chosen - a comma separated string and this was documented and tests were introduced in this patch. This potentially introduces a very small backwards incompatibility. In rclone v1.67.0 RCLONE_EXCLUDE=a,b Would be interpreted as --exclude "a,b" Whereas this new code will interpret it as --exclude "a" --exclude "b" The benefit of being able to set multiple values with an environment variable was deemed to outweigh the very small backwards compatibility risk. If a value with a `,` is needed, then use CSV escaping, eg RCLONE_EXCLUDE="a,b" (Note this needs to have the quotes in so at the unix shell that would be RCLONE_EXCLUDE='"a,b"' Fixes #8063 |
||
---|---|---|
.. | ||
configfile | ||
configflags | ||
configmap | ||
configstruct | ||
flags | ||
obscure | ||
testdata | ||
authorize.go | ||
config.go | ||
config_read_password.go | ||
config_read_password_unsupported.go | ||
config_test.go | ||
crypt.go | ||
crypt_internal_test.go | ||
crypt_test.go | ||
default_storage.go | ||
default_storage_test.go | ||
rc.go | ||
rc_test.go | ||
ui.go | ||
ui_test.go |