#compdef rustic

autoload -U is-at-least

_rustic() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'-V[Print version information]' \
'--version[Print version information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
":: :_rustic_commands" \
"*::: :->rustic" \
&& ret=0
    case $state in
    (rustic)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-command-$line[1]:"
        case $line[1] in
            (backup)
_arguments "${_arguments_options[@]}" \
'-g+[Group snapshots by any combination of host,label,paths,tags to find a suitable parent (default: host,label,paths)]:CRITERION: ' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags to find a suitable parent (default: host,label,paths)]:CRITERION: ' \
'(-f --force)--parent=[Snapshot to use as parent]:SNAPSHOT: ' \
'--label=[Label snapshot with given label]:LABEL: ' \
'*--tag=[Tags to add to backup (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--description=[Add description to snapshot]:DESCRIPTION: ' \
'(--description)--description-from=[Add description to snapshot from file]:FILE: ' \
'--delete-after=[Mark snapshot to be deleted after given duration (e.g. 10d)]:DURATION: ' \
'--stdin-filename=[Set filename to be used when backing up from stdin]:FILENAME: ' \
'--as-path=[Manually set backup path in snapshot]:PATH: ' \
'--host=[Set the host name manually]:NAME: ' \
'*-g+[Glob pattern to exclude/include (can be specified multiple times)]:GLOB: ' \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB: ' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB: ' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE: ' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE: ' \
'*--exclude-if-present=[Exclude contents of directories containing this filename (can be specified multiple times)]:FILE: ' \
'--exclude-larger-than=[Maximum size of files to be backuped. Larger files will be excluded]:SIZE: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--json[Output generated snapshot in json format]' \
'-n[]' \
'--dry-run[]' \
'(--parent)-f[Use no parent, read all files]' \
'(--parent)--force[Use no parent, read all files]' \
'(-f --force)--ignore-ctime[Ignore ctime changes when checking for modified files]' \
'(-f --force)--ignore-inode[Ignore inode number changes when checking for modified files]' \
'(--delete-after)--delete-never[Mark snapshot as uneraseable]' \
'--with-atime[Save access time for files and directories]' \
'--ignore-devid[Don'\''t save device ID for files and directories]' \
'--git-ignore[Ignore files based on .gitignore files]' \
'-x[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--one-file-system[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::sources -- Backup source (can be specified multiple times), use - for stdin. If no source is given, uses all sources defined in the config file:' \
&& ret=0
;;
(cat)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
":: :_rustic__cat_commands" \
"*::: :->cat" \
&& ret=0

    case $state in
    (cat)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-cat-command-$line[1]:"
        case $line[1] in
            (tree-blob)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':id -- Id to display:' \
&& ret=0
;;
(data-blob)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':id -- Id to display:' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':id -- Id to display:' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':id -- Id to display:' \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':snap -- Snapshot/path of the tree to display:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" \
'--set-compression=[Set compression level. Allowed levels are 1 to 22 and -1 to -7, see <https://facebook.github.io/zstd/>. Note that 0 equals to no compression]:LEVEL: ' \
'--set-version=[Set repository version. Allowed versions: 1,2]:VERSION: ' \
'--set-treepack-size=[Set default packsize for tree packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to 4 MiB if not set]:SIZE: ' \
'--set-treepack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get up to some MiBs larger. If not set, pack sizes can grow up to approximately 4 GiB]:SIZE: ' \
'--set-treepack-growfactor=[Set grow factor for tree packs. The default packsize grows by the square root of the total size of all tree packs multiplied with this factor. This means 32 kiB times this factor per square root of total treesize in GiB. Defaults to 32 (= 1MB per sqare root of total treesize in GiB) if not set]:FACTOR: ' \
'--set-datapack-size=[Set default packsize for data packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to 32 MiB if not set]:SIZE: ' \
'--set-datapack-growfactor=[Set grow factor for data packs. The default packsize grows by the square root of the total size of all data packs multiplied with this factor. This means 32 kiB times this factor per square root of total datasize in GiB. Defaults to 32 (= 1MB per sqare root of total datasize in GiB) if not set]:FACTOR: ' \
'--set-datapack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get up to some MiBs larger. If not set, pack sizes can grow up to approximately 4 GiB]:SIZE: ' \
'--set-min-packsize-tolerate-percent=[Set minimum tolerated packsize in percent of the targeted packsize. Defaults to 30 if not set]:PERCENT: ' \
'--set-max-packsize-tolerate-percent=[Set maximum tolerated packsize in percent of the targeted packsize A value of 0 means packs larger than the targeted packsize are always tolerated. Default if not set: larger packfiles are always tolerated]:PERCENT: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':sh:(bash fish zsh)' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'(--no-cache)--trust-cache[Don'\''t verify the data saved in the cache]' \
'--read-data[Read all data blobs]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[Don'\''t copy any snapshot, only show what would be done]' \
'--dry-run[Don'\''t copy any snapshot, only show what would be done]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::ids -- Snapshots to copy. If none is given, use filter to filter from all snapshots:' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" \
'*-g+[Glob pattern to exclude/include (can be specified multiple times)]:GLOB: ' \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB: ' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB: ' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE: ' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE: ' \
'*--exclude-if-present=[Exclude contents of directories containing this filename (can be specified multiple times)]:FILE: ' \
'--exclude-larger-than=[Maximum size of files to be backuped. Larger files will be excluded]:SIZE: ' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--with-atime[Save access time for files and directories]' \
'--ignore-devid[Don'\''t save device ID for files and directories]' \
'--git-ignore[Ignore files based on .gitignore files]' \
'-x[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--one-file-system[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--metadata[show differences in metadata]' \
'--no-content[don'\''t check for different file contents]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':snap1 -- Reference snapshot/path:' \
':snap2 -- New snapshot/path or local path \[default for PATH2\: PATH1\]:' \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" \
'-g+[Group snapshots by any combination of host,label,paths,tags (default: "host,label,paths")]:CRITERION: ' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags (default: "host,label,paths")]:CRITERION: ' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'*--keep-tags=[Keep snapshots with this taglist (can be specified multiple times)]:TAG[,TAG,..]: ' \
'*--keep-id=[Keep snapshots ids that start with ID (can be specified multiple times)]:ID: ' \
'-l+[Keep the last N snapshots]:N: ' \
'--keep-last=[Keep the last N snapshots]:N: ' \
'-H+[Keep the last N hourly snapshots]:N: ' \
'--keep-hourly=[Keep the last N hourly snapshots]:N: ' \
'-d+[Keep the last N daily snapshots]:N: ' \
'--keep-daily=[Keep the last N daily snapshots]:N: ' \
'-w+[Keep the last N weekly snapshots]:N: ' \
'--keep-weekly=[Keep the last N weekly snapshots]:N: ' \
'-m+[Keep the last N monthly snapshots]:N: ' \
'--keep-monthly=[Keep the last N monthly snapshots]:N: ' \
'--keep-quarter-yearly=[Keep the last N quarter-yearly snapshots]:N: ' \
'--keep-half-yearly=[Keep the last N half-yearly snapshots]:N: ' \
'-y+[Keep the last N yearly snapshots]:N: ' \
'--keep-yearly=[Keep the last N yearly snapshots]:N: ' \
'--keep-within=[Keep snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-hourly=[Keep hourly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-daily=[Keep daily snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-weekly=[Keep weekly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-monthly=[Keep monthly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-quarter-yearly=[Keep quarter-yearly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-half-yearly=[Keep half-yearly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--keep-within-yearly=[Keep yearly snapshots newer than DURATION relative to latest snapshot]:DURATION: ' \
'--max-repack=[Define maximum data to repack in % of reposize or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT: ' \
'--max-unused=[Tolerate limit of unused data in % of reposize after pruning or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT: ' \
'--keep-pack=[Minimum duration (e.g. 90d) to keep packs before repacking or removing. More recently created packs won'\''t be repacked or marked for deletion within this prune run]:DURATION: ' \
'--keep-delete=[Minimum duration (e.g. 10m) to keep packs marked for deletion. More recently marked packs won'\''t be deleted within this prune run]:DURATION: ' \
'--repack-cacheable-only=[Only repack packs which are cacheable \[default: true for a hot/cold repository, else false\]]:TRUE/FALSE: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--prune[Also prune the repository]' \
'-n[Don'\''t remove anything, only show what would be done]' \
'--dry-run[Don'\''t remove anything, only show what would be done]' \
'--instant-delete[Delete files immediately instead of marking them. This also removes all files already marked for deletion. WARNING: Only use if you are sure the repository is not accessed by parallel processes!]' \
'--fast-repack[Simply copy blobs when repacking instead of decrypting; possibly compressing; encrypting]' \
'(--fast-repack)--repack-uncompressed[Repack packs containing uncompressed blobs. This cannot be used with --fast-repack. Implies --max-unused=0]' \
'--no-resize[Do not repack packs which only needs to be resized]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::ids -- Snapshots to forget:' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME: ' \
'--username=[Set '\''username'\'' in public key information]:USERNAME: ' \
'--set-compression=[Set compression level. Allowed levels are 1 to 22 and -1 to -7, see <https://facebook.github.io/zstd/>. Note that 0 equals to no compression]:LEVEL: ' \
'--set-version=[Set repository version. Allowed versions: 1,2]:VERSION: ' \
'--set-treepack-size=[Set default packsize for tree packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to 4 MiB if not set]:SIZE: ' \
'--set-treepack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get up to some MiBs larger. If not set, pack sizes can grow up to approximately 4 GiB]:SIZE: ' \
'--set-treepack-growfactor=[Set grow factor for tree packs. The default packsize grows by the square root of the total size of all tree packs multiplied with this factor. This means 32 kiB times this factor per square root of total treesize in GiB. Defaults to 32 (= 1MB per sqare root of total treesize in GiB) if not set]:FACTOR: ' \
'--set-datapack-size=[Set default packsize for data packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to 32 MiB if not set]:SIZE: ' \
'--set-datapack-growfactor=[Set grow factor for data packs. The default packsize grows by the square root of the total size of all data packs multiplied with this factor. This means 32 kiB times this factor per square root of total datasize in GiB. Defaults to 32 (= 1MB per sqare root of total datasize in GiB) if not set]:FACTOR: ' \
'--set-datapack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get up to some MiBs larger. If not set, pack sizes can grow up to approximately 4 GiB]:SIZE: ' \
'--set-min-packsize-tolerate-percent=[Set minimum tolerated packsize in percent of the targeted packsize. Defaults to 30 if not set]:PERCENT: ' \
'--set-max-packsize-tolerate-percent=[Set maximum tolerated packsize in percent of the targeted packsize A value of 0 means packs larger than the targeted packsize are always tolerated. Default if not set: larger packfiles are always tolerated]:PERCENT: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--with-created[Add '\''created'\'' date in public key information]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
":: :_rustic__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-key-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
'--new-password-file=[File from which to read the new password]:NEW_PASSWORD_FILE: ' \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME: ' \
'--username=[Set '\''username'\'' in public key information]:USERNAME: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--with-created[Add '\''created'\'' date in public key information]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':tpe -- File type to list:(blobs index packs snapshots keys)' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
':snap -- Snapshot/path to list:' \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'-g+[Group snapshots by any combination of host,label,paths,tags]:CRITERION: ' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags]:CRITERION: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--long[Show detailed information about snapshots]' \
'(--long)--json[Show snapshots in json format]' \
'(--long --json)--all[Show all snapshots instead of summarizing identical follow-up snapshots]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::ids -- Snapshots to show:' \
&& ret=0
;;
(self-update)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--force[Do not ask before processing the self-update]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(prune)
_arguments "${_arguments_options[@]}" \
'--max-repack=[Define maximum data to repack in % of reposize or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT: ' \
'--max-unused=[Tolerate limit of unused data in % of reposize after pruning or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT: ' \
'--keep-pack=[Minimum duration (e.g. 90d) to keep packs before repacking or removing. More recently created packs won'\''t be repacked or marked for deletion within this prune run]:DURATION: ' \
'--keep-delete=[Minimum duration (e.g. 10m) to keep packs marked for deletion. More recently marked packs won'\''t be deleted within this prune run]:DURATION: ' \
'--repack-cacheable-only=[Only repack packs which are cacheable \[default: true for a hot/cold repository, else false\]]:TRUE/FALSE: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[Don'\''t remove anything, only show what would be done]' \
'--dry-run[Don'\''t remove anything, only show what would be done]' \
'--instant-delete[Delete files immediately instead of marking them. This also removes all files already marked for deletion. WARNING: Only use if you are sure the repository is not accessed by parallel processes!]' \
'--fast-repack[Simply copy blobs when repacking instead of decrypting; possibly compressing; encrypting]' \
'(--fast-repack)--repack-uncompressed[Repack packs containing uncompressed blobs. This cannot be used with --fast-repack. Implies --max-unused=0]' \
'--no-resize[Do not repack packs which only needs to be resized]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'(-n --dry-run)--warm-up-wait=[Duration (e.g. 10m) to wait after warm up before doing the actual restore]:DURATION: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[Dry-run: don'\''t restore, only show what would be done]' \
'--dry-run[Dry-run: don'\''t restore, only show what would be done]' \
'--delete[Remove all files/dirs in destination which are not contained in snapshot. WARNING: Use with care, maybe first try this first with --dry-run?]' \
'--numeric-id[Use numeric ids instead of user/group when restoring uid/gui]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'--verify-existing[Always read and verify existing files (don'\''t trust correct modification time and file size)]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
':snap -- Snapshot/path to restore:' \
':dest -- Restore destination:' \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
":: :_rustic__repair_commands" \
"*::: :->repair" \
&& ret=0

    case $state in
    (repair)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-repair-command-$line[1]:"
        case $line[1] in
            (index)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[]' \
'--dry-run[]' \
'--read-all[]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--suffix=[Append this suffix to repaired directory or file name]:SUFFIX: ' \
'*--tag=[Tag list to set on repaired snapshots (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[Only show what would be repaired]' \
'--dry-run[Only show what would be repaired]' \
'-n[Also remove defect snapshots - WARNING: This can result in data loss!]' \
'--delete[Also remove defect snapshots - WARNING: This can result in data loss!]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::ids -- Snapshots to repair. If none is given, use filter to filter from all snapshots:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(repoinfo)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
&& ret=0
;;
(tag)
_arguments "${_arguments_options[@]}" \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME: ' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL: ' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]: ' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]: ' \
'(--remove)*--add=[Tags to add (can be specified multiple times)]:TAG[,TAG,..]: ' \
'*--remove=[Tags to remove (can be specified multiple times)]:TAG[,TAG,..]: ' \
'(--remove)*--set=[Tag list to set (can be specified multiple times)]:TAG[,TAG,..]: ' \
'--set-delete-after=[Mark snapshot to be deleted after given duration (e.g. 10d)]:DURATION: ' \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'-n[Don'\''t change any snapshot, only show which would be modified]' \
'--dry-run[Don'\''t change any snapshot, only show which would be modified]' \
'(--set-delete-never --set-delete-after)--remove-delete[Remove any delete mark]' \
'(--set-delete-after)--set-delete-never[Mark snapshot as uneraseable]' \
'-h[Print help information]' \
'--help[Print help information]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::ids -- Snapshots to change tags. If none is given, use filter to filter from all snapshots:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'--log-level=[Use this log level \[default: info\]]:LOG_LEVEL: ' \
'--log-file=[Write log messages to the given file instead of printing them. Note: warnings and errors are still additionally printed unless they are ignored by --log-level]:LOGFILE: ' \
'-r+[Repository to use]:REPOSITORY: ' \
'--repository=[Repository to use]:REPOSITORY: ' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT: ' \
'--password=[Password of the repository - WARNING: Using --password can reveal the password in the process list!]:PASSWORD: ' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE: ' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE: ' \
'(--password -p --password-file)--password-command=[Command to read the password from]:PASSWORD_COMMAND: ' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR: ' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND: ' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION: ' \
'-P+[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--config-profile=[Config profile to use. This parses the file `<PROFILE>.toml` in the config directory]:PROFILE: ' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
}

(( $+functions[_rustic_commands] )) ||
_rustic_commands() {
    local commands; commands=(
'backup:Backup to the repository' \
'cat:Show raw data of repository files and blobs' \
'config:Change the repository configuration' \
'completions:Generate shell completions' \
'check:Check the repository' \
'copy:Copy snapshots to another repository' \
'diff:Compare two snapshots/paths' \
'forget:Remove snapshots from the repository' \
'init:Initialize a new repository' \
'key:Manage keys' \
'list:List repository files' \
'ls:List file contents of a snapshot' \
'snapshots:Show a detailed overview of the snapshots within the repository' \
'self-update:Update to the latest rustic release' \
'prune:Remove unused data or repack repository pack files' \
'restore:Restore a snapshot/path' \
'repair:Restore a snapshot/path' \
'repoinfo:Show general information about the repository' \
'tag:Change tags of snapshots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic commands' commands "$@"
}
(( $+functions[_rustic__key__add_commands] )) ||
_rustic__key__add_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key add commands' commands "$@"
}
(( $+functions[_rustic__backup_commands] )) ||
_rustic__backup_commands() {
    local commands; commands=()
    _describe -t commands 'rustic backup commands' commands "$@"
}
(( $+functions[_rustic__cat_commands] )) ||
_rustic__cat_commands() {
    local commands; commands=(
'tree-blob:Display a tree blob' \
'data-blob:Display a data blob' \
'config:Display the config file' \
'index:Display an index file' \
'snapshot:Display a snapshot file' \
'tree:Display a tree within a snapshot' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic cat commands' commands "$@"
}
(( $+functions[_rustic__check_commands] )) ||
_rustic__check_commands() {
    local commands; commands=()
    _describe -t commands 'rustic check commands' commands "$@"
}
(( $+functions[_rustic__completions_commands] )) ||
_rustic__completions_commands() {
    local commands; commands=()
    _describe -t commands 'rustic completions commands' commands "$@"
}
(( $+functions[_rustic__cat__config_commands] )) ||
_rustic__cat__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat config commands' commands "$@"
}
(( $+functions[_rustic__config_commands] )) ||
_rustic__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic config commands' commands "$@"
}
(( $+functions[_rustic__copy_commands] )) ||
_rustic__copy_commands() {
    local commands; commands=()
    _describe -t commands 'rustic copy commands' commands "$@"
}
(( $+functions[_rustic__cat__data-blob_commands] )) ||
_rustic__cat__data-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat data-blob commands' commands "$@"
}
(( $+functions[_rustic__diff_commands] )) ||
_rustic__diff_commands() {
    local commands; commands=()
    _describe -t commands 'rustic diff commands' commands "$@"
}
(( $+functions[_rustic__forget_commands] )) ||
_rustic__forget_commands() {
    local commands; commands=()
    _describe -t commands 'rustic forget commands' commands "$@"
}
(( $+functions[_rustic__cat__help_commands] )) ||
_rustic__cat__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help commands' commands "$@"
}
(( $+functions[_rustic__help_commands] )) ||
_rustic__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help commands' commands "$@"
}
(( $+functions[_rustic__key__help_commands] )) ||
_rustic__key__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help commands' commands "$@"
}
(( $+functions[_rustic__repair__help_commands] )) ||
_rustic__repair__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair help commands' commands "$@"
}
(( $+functions[_rustic__cat__index_commands] )) ||
_rustic__cat__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat index commands' commands "$@"
}
(( $+functions[_rustic__repair__index_commands] )) ||
_rustic__repair__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair index commands' commands "$@"
}
(( $+functions[_rustic__init_commands] )) ||
_rustic__init_commands() {
    local commands; commands=()
    _describe -t commands 'rustic init commands' commands "$@"
}
(( $+functions[_rustic__key_commands] )) ||
_rustic__key_commands() {
    local commands; commands=(
'add:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic key commands' commands "$@"
}
(( $+functions[_rustic__list_commands] )) ||
_rustic__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic list commands' commands "$@"
}
(( $+functions[_rustic__ls_commands] )) ||
_rustic__ls_commands() {
    local commands; commands=()
    _describe -t commands 'rustic ls commands' commands "$@"
}
(( $+functions[_rustic__prune_commands] )) ||
_rustic__prune_commands() {
    local commands; commands=()
    _describe -t commands 'rustic prune commands' commands "$@"
}
(( $+functions[_rustic__repair_commands] )) ||
_rustic__repair_commands() {
    local commands; commands=(
'index:Repair the repository index' \
'snapshots:Repair snapshots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic repair commands' commands "$@"
}
(( $+functions[_rustic__repoinfo_commands] )) ||
_rustic__repoinfo_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repoinfo commands' commands "$@"
}
(( $+functions[_rustic__restore_commands] )) ||
_rustic__restore_commands() {
    local commands; commands=()
    _describe -t commands 'rustic restore commands' commands "$@"
}
(( $+functions[_rustic__self-update_commands] )) ||
_rustic__self-update_commands() {
    local commands; commands=()
    _describe -t commands 'rustic self-update commands' commands "$@"
}
(( $+functions[_rustic__cat__snapshot_commands] )) ||
_rustic__cat__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat snapshot commands' commands "$@"
}
(( $+functions[_rustic__repair__snapshots_commands] )) ||
_rustic__repair__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair snapshots commands' commands "$@"
}
(( $+functions[_rustic__snapshots_commands] )) ||
_rustic__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic snapshots commands' commands "$@"
}
(( $+functions[_rustic__tag_commands] )) ||
_rustic__tag_commands() {
    local commands; commands=()
    _describe -t commands 'rustic tag commands' commands "$@"
}
(( $+functions[_rustic__cat__tree_commands] )) ||
_rustic__cat__tree_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat tree commands' commands "$@"
}
(( $+functions[_rustic__cat__tree-blob_commands] )) ||
_rustic__cat__tree-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat tree-blob commands' commands "$@"
}

_rustic "$@"
