diff --git a/doc/bash-completion.sh b/doc/bash-completion.sh index e75eb4d81..43829d2f4 100644 --- a/doc/bash-completion.sh +++ b/doc/bash-completion.sh @@ -36,9 +36,103 @@ __restic_contains_word() return 1 } +__restic_handle_go_custom_completion() +{ + __restic_debug "${FUNCNAME[0]}: cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}" + + local shellCompDirectiveError=1 + local shellCompDirectiveNoSpace=2 + local shellCompDirectiveNoFileComp=4 + local shellCompDirectiveFilterFileExt=8 + local shellCompDirectiveFilterDirs=16 + + local out requestComp lastParam lastChar comp directive args + + # Prepare the command to request completions for the program. + # Calling ${words[0]} instead of directly restic allows to handle aliases + args=("${words[@]:1}") + requestComp="${words[0]} __completeNoDesc ${args[*]}" + + lastParam=${words[$((${#words[@]}-1))]} + lastChar=${lastParam:$((${#lastParam}-1)):1} + __restic_debug "${FUNCNAME[0]}: lastParam ${lastParam}, lastChar ${lastChar}" + + if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go method. + __restic_debug "${FUNCNAME[0]}: Adding extra empty parameter" + requestComp="${requestComp} \"\"" + fi + + __restic_debug "${FUNCNAME[0]}: calling ${requestComp}" + # Use eval to handle any environment variables and such + out=$(eval "${requestComp}" 2>/dev/null) + + # Extract the directive integer at the very end of the output following a colon (:) + directive=${out##*:} + # Remove the directive + out=${out%:*} + if [ "${directive}" = "${out}" ]; then + # There is not directive specified + directive=0 + fi + __restic_debug "${FUNCNAME[0]}: the completion directive is: ${directive}" + __restic_debug "${FUNCNAME[0]}: the completions are: ${out[*]}" + + if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then + # Error code. No completion. + __restic_debug "${FUNCNAME[0]}: received error from custom completion go code" + return + else + if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then + if [[ $(type -t compopt) = "builtin" ]]; then + __restic_debug "${FUNCNAME[0]}: activating no space" + compopt -o nospace + fi + fi + if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then + if [[ $(type -t compopt) = "builtin" ]]; then + __restic_debug "${FUNCNAME[0]}: activating no file completion" + compopt +o default + fi + fi + fi + + if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then + # File extension filtering + local fullFilter filter filteringCmd + # Do not use quotes around the $out variable or else newline + # characters will be kept. + for filter in ${out[*]}; do + fullFilter+="$filter|" + done + + filteringCmd="_filedir $fullFilter" + __restic_debug "File filtering command: $filteringCmd" + $filteringCmd + elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then + # File completion for directories only + local subDir + # Use printf to strip any trailing newline + subdir=$(printf "%s" "${out[0]}") + if [ -n "$subdir" ]; then + __restic_debug "Listing directories in $subdir" + __restic_handle_subdirs_in_dir_flag "$subdir" + else + __restic_debug "Listing directories in ." + _filedir -d + fi + else + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${out[*]}" -- "$cur") + fi +} + __restic_handle_reply() { __restic_debug "${FUNCNAME[0]}" + local comp case $cur in -*) if [[ $(type -t compopt) = "builtin" ]]; then @@ -50,7 +144,9 @@ __restic_handle_reply() else allflags=("${flags[*]} ${two_word_flags[*]}") fi - COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${allflags[*]}" -- "$cur") if [[ $(type -t compopt) = "builtin" ]]; then [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace fi @@ -95,15 +191,22 @@ __restic_handle_reply() local completions completions=("${commands[@]}") if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then - completions=("${must_have_one_noun[@]}") + completions+=("${must_have_one_noun[@]}") + elif [[ -n "${has_completion_function}" ]]; then + # if a go completion function is provided, defer to that function + __restic_handle_go_custom_completion fi if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then completions+=("${must_have_one_flag[@]}") fi - COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${completions[*]}" -- "$cur") if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then - COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") ) + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${noun_aliases[*]}" -- "$cur") fi if [[ ${#COMPREPLY[@]} -eq 0 ]]; then @@ -138,7 +241,7 @@ __restic_handle_filename_extension_flag() __restic_handle_subdirs_in_dir_flag() { local dir="$1" - pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 + pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return } __restic_handle_flag() @@ -267,42 +370,56 @@ _restic_backup() flags+=("--exclude=") two_word_flags+=("--exclude") two_word_flags+=("-e") + local_nonpersistent_flags+=("--exclude") local_nonpersistent_flags+=("--exclude=") + local_nonpersistent_flags+=("-e") flags+=("--exclude-caches") local_nonpersistent_flags+=("--exclude-caches") flags+=("--exclude-file=") two_word_flags+=("--exclude-file") + local_nonpersistent_flags+=("--exclude-file") local_nonpersistent_flags+=("--exclude-file=") flags+=("--exclude-if-present=") two_word_flags+=("--exclude-if-present") + local_nonpersistent_flags+=("--exclude-if-present") local_nonpersistent_flags+=("--exclude-if-present=") flags+=("--exclude-larger-than=") two_word_flags+=("--exclude-larger-than") + local_nonpersistent_flags+=("--exclude-larger-than") local_nonpersistent_flags+=("--exclude-larger-than=") flags+=("--files-from=") two_word_flags+=("--files-from") + local_nonpersistent_flags+=("--files-from") local_nonpersistent_flags+=("--files-from=") flags+=("--files-from-raw=") two_word_flags+=("--files-from-raw") + local_nonpersistent_flags+=("--files-from-raw") local_nonpersistent_flags+=("--files-from-raw=") flags+=("--files-from-verbatim=") two_word_flags+=("--files-from-verbatim") + local_nonpersistent_flags+=("--files-from-verbatim") local_nonpersistent_flags+=("--files-from-verbatim=") flags+=("--force") flags+=("-f") local_nonpersistent_flags+=("--force") + local_nonpersistent_flags+=("-f") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--iexclude=") two_word_flags+=("--iexclude") + local_nonpersistent_flags+=("--iexclude") local_nonpersistent_flags+=("--iexclude=") flags+=("--iexclude-file=") two_word_flags+=("--iexclude-file") + local_nonpersistent_flags+=("--iexclude-file") local_nonpersistent_flags+=("--iexclude-file=") flags+=("--ignore-ctime") local_nonpersistent_flags+=("--ignore-ctime") @@ -311,19 +428,24 @@ _restic_backup() flags+=("--one-file-system") flags+=("-x") local_nonpersistent_flags+=("--one-file-system") + local_nonpersistent_flags+=("-x") flags+=("--parent=") two_word_flags+=("--parent") + local_nonpersistent_flags+=("--parent") local_nonpersistent_flags+=("--parent=") flags+=("--stdin") local_nonpersistent_flags+=("--stdin") flags+=("--stdin-filename=") two_word_flags+=("--stdin-filename") + local_nonpersistent_flags+=("--stdin-filename") local_nonpersistent_flags+=("--stdin-filename=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--time=") two_word_flags+=("--time") + local_nonpersistent_flags+=("--time") local_nonpersistent_flags+=("--time=") flags+=("--with-atime") local_nonpersistent_flags+=("--with-atime") @@ -385,8 +507,10 @@ _restic_cache() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--max-age=") two_word_flags+=("--max-age") + local_nonpersistent_flags+=("--max-age") local_nonpersistent_flags+=("--max-age=") flags+=("--no-size") local_nonpersistent_flags+=("--no-size") @@ -446,6 +570,7 @@ _restic_cat() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -504,10 +629,12 @@ _restic_check() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--read-data") local_nonpersistent_flags+=("--read-data") flags+=("--read-data-subset=") two_word_flags+=("--read-data-subset") + local_nonpersistent_flags+=("--read-data-subset") local_nonpersistent_flags+=("--read-data-subset=") flags+=("--with-cache") local_nonpersistent_flags+=("--with-cache") @@ -567,27 +694,40 @@ _restic_copy() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--key-hint2=") two_word_flags+=("--key-hint2") + local_nonpersistent_flags+=("--key-hint2") local_nonpersistent_flags+=("--key-hint2=") flags+=("--password-command2=") two_word_flags+=("--password-command2") + local_nonpersistent_flags+=("--password-command2") local_nonpersistent_flags+=("--password-command2=") flags+=("--password-file2=") two_word_flags+=("--password-file2") + local_nonpersistent_flags+=("--password-file2") local_nonpersistent_flags+=("--password-file2=") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--repo2=") two_word_flags+=("--repo2") + local_nonpersistent_flags+=("--repo2") local_nonpersistent_flags+=("--repo2=") + flags+=("--repository-file2=") + two_word_flags+=("--repository-file2") + local_nonpersistent_flags+=("--repository-file2") + local_nonpersistent_flags+=("--repository-file2=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -645,6 +785,7 @@ _restic_diff() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--metadata") local_nonpersistent_flags+=("--metadata") flags+=("--cacert=") @@ -703,19 +844,26 @@ _restic_dump() flags+=("--archive=") two_word_flags+=("--archive") two_word_flags+=("-a") + local_nonpersistent_flags+=("--archive") local_nonpersistent_flags+=("--archive=") + local_nonpersistent_flags+=("-a") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -775,37 +923,50 @@ _restic_find() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--ignore-case") flags+=("-i") local_nonpersistent_flags+=("--ignore-case") + local_nonpersistent_flags+=("-i") flags+=("--long") flags+=("-l") local_nonpersistent_flags+=("--long") + local_nonpersistent_flags+=("-l") flags+=("--newest=") two_word_flags+=("--newest") two_word_flags+=("-N") + local_nonpersistent_flags+=("--newest") local_nonpersistent_flags+=("--newest=") + local_nonpersistent_flags+=("-N") flags+=("--oldest=") two_word_flags+=("--oldest") two_word_flags+=("-O") + local_nonpersistent_flags+=("--oldest") local_nonpersistent_flags+=("--oldest=") + local_nonpersistent_flags+=("-O") flags+=("--pack") local_nonpersistent_flags+=("--pack") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--show-pack-id") local_nonpersistent_flags+=("--show-pack-id") flags+=("--snapshot=") two_word_flags+=("--snapshot") two_word_flags+=("-s") + local_nonpersistent_flags+=("--snapshot") local_nonpersistent_flags+=("--snapshot=") + local_nonpersistent_flags+=("-s") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--tree") local_nonpersistent_flags+=("--tree") @@ -865,65 +1026,109 @@ _restic_forget() flags+=("--keep-last=") two_word_flags+=("--keep-last") two_word_flags+=("-l") + local_nonpersistent_flags+=("--keep-last") local_nonpersistent_flags+=("--keep-last=") + local_nonpersistent_flags+=("-l") flags+=("--keep-hourly=") two_word_flags+=("--keep-hourly") two_word_flags+=("-H") + local_nonpersistent_flags+=("--keep-hourly") local_nonpersistent_flags+=("--keep-hourly=") + local_nonpersistent_flags+=("-H") flags+=("--keep-daily=") two_word_flags+=("--keep-daily") two_word_flags+=("-d") + local_nonpersistent_flags+=("--keep-daily") local_nonpersistent_flags+=("--keep-daily=") + local_nonpersistent_flags+=("-d") flags+=("--keep-weekly=") two_word_flags+=("--keep-weekly") two_word_flags+=("-w") + local_nonpersistent_flags+=("--keep-weekly") local_nonpersistent_flags+=("--keep-weekly=") + local_nonpersistent_flags+=("-w") flags+=("--keep-monthly=") two_word_flags+=("--keep-monthly") two_word_flags+=("-m") + local_nonpersistent_flags+=("--keep-monthly") local_nonpersistent_flags+=("--keep-monthly=") + local_nonpersistent_flags+=("-m") flags+=("--keep-yearly=") two_word_flags+=("--keep-yearly") two_word_flags+=("-y") + local_nonpersistent_flags+=("--keep-yearly") local_nonpersistent_flags+=("--keep-yearly=") + local_nonpersistent_flags+=("-y") flags+=("--keep-within=") two_word_flags+=("--keep-within") + local_nonpersistent_flags+=("--keep-within") local_nonpersistent_flags+=("--keep-within=") + flags+=("--keep-within-hourly=") + two_word_flags+=("--keep-within-hourly") + local_nonpersistent_flags+=("--keep-within-hourly") + local_nonpersistent_flags+=("--keep-within-hourly=") + flags+=("--keep-within-daily=") + two_word_flags+=("--keep-within-daily") + local_nonpersistent_flags+=("--keep-within-daily") + local_nonpersistent_flags+=("--keep-within-daily=") + flags+=("--keep-within-weekly=") + two_word_flags+=("--keep-within-weekly") + local_nonpersistent_flags+=("--keep-within-weekly") + local_nonpersistent_flags+=("--keep-within-weekly=") + flags+=("--keep-within-monthly=") + two_word_flags+=("--keep-within-monthly") + local_nonpersistent_flags+=("--keep-within-monthly") + local_nonpersistent_flags+=("--keep-within-monthly=") + flags+=("--keep-within-yearly=") + two_word_flags+=("--keep-within-yearly") + local_nonpersistent_flags+=("--keep-within-yearly") + local_nonpersistent_flags+=("--keep-within-yearly=") flags+=("--keep-tag=") two_word_flags+=("--keep-tag") + local_nonpersistent_flags+=("--keep-tag") local_nonpersistent_flags+=("--keep-tag=") flags+=("--host=") two_word_flags+=("--host") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--compact") flags+=("-c") local_nonpersistent_flags+=("--compact") + local_nonpersistent_flags+=("-c") flags+=("--group-by=") two_word_flags+=("--group-by") two_word_flags+=("-g") + local_nonpersistent_flags+=("--group-by") local_nonpersistent_flags+=("--group-by=") + local_nonpersistent_flags+=("-g") flags+=("--dry-run") flags+=("-n") local_nonpersistent_flags+=("--dry-run") + local_nonpersistent_flags+=("-n") flags+=("--prune") local_nonpersistent_flags+=("--prune") flags+=("--max-unused=") two_word_flags+=("--max-unused") + local_nonpersistent_flags+=("--max-unused") local_nonpersistent_flags+=("--max-unused=") flags+=("--max-repack-size=") two_word_flags+=("--max-repack-size") + local_nonpersistent_flags+=("--max-repack-size") local_nonpersistent_flags+=("--max-repack-size=") flags+=("--repack-cacheable-only") local_nonpersistent_flags+=("--repack-cacheable-only") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -979,15 +1184,23 @@ _restic_generate() flags+=("--bash-completion=") two_word_flags+=("--bash-completion") + local_nonpersistent_flags+=("--bash-completion") local_nonpersistent_flags+=("--bash-completion=") + flags+=("--fish-completion=") + two_word_flags+=("--fish-completion") + local_nonpersistent_flags+=("--fish-completion") + local_nonpersistent_flags+=("--fish-completion=") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--man=") two_word_flags+=("--man") + local_nonpersistent_flags+=("--man") local_nonpersistent_flags+=("--man=") flags+=("--zsh-completion=") two_word_flags+=("--zsh-completion") + local_nonpersistent_flags+=("--zsh-completion") local_nonpersistent_flags+=("--zsh-completion=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1028,6 +1241,60 @@ _restic_generate() noun_aliases=() } +_restic_help() +{ + last_command="restic_help" + + command_aliases=() + + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--cacert=") + two_word_flags+=("--cacert") + flags+=("--cache-dir=") + two_word_flags+=("--cache-dir") + flags+=("--cleanup-cache") + flags+=("--json") + flags+=("--key-hint=") + two_word_flags+=("--key-hint") + flags+=("--limit-download=") + two_word_flags+=("--limit-download") + flags+=("--limit-upload=") + two_word_flags+=("--limit-upload") + flags+=("--no-cache") + flags+=("--no-lock") + flags+=("--option=") + two_word_flags+=("--option") + two_word_flags+=("-o") + flags+=("--password-command=") + two_word_flags+=("--password-command") + flags+=("--password-file=") + two_word_flags+=("--password-file") + two_word_flags+=("-p") + flags+=("--quiet") + flags+=("-q") + flags+=("--repo=") + two_word_flags+=("--repo") + two_word_flags+=("-r") + flags+=("--repository-file=") + two_word_flags+=("--repository-file") + flags+=("--tls-client-cert=") + two_word_flags+=("--tls-client-cert") + flags+=("--verbose") + flags+=("-v") + + must_have_one_flag=() + must_have_one_noun=() + has_completion_function=1 + noun_aliases=() +} + _restic_init() { last_command="restic_init" @@ -1047,18 +1314,27 @@ _restic_init() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--key-hint2=") two_word_flags+=("--key-hint2") + local_nonpersistent_flags+=("--key-hint2") local_nonpersistent_flags+=("--key-hint2=") flags+=("--password-command2=") two_word_flags+=("--password-command2") + local_nonpersistent_flags+=("--password-command2") local_nonpersistent_flags+=("--password-command2=") flags+=("--password-file2=") two_word_flags+=("--password-file2") + local_nonpersistent_flags+=("--password-file2") local_nonpersistent_flags+=("--password-file2=") flags+=("--repo2=") two_word_flags+=("--repo2") + local_nonpersistent_flags+=("--repo2") local_nonpersistent_flags+=("--repo2=") + flags+=("--repository-file2=") + two_word_flags+=("--repository-file2") + local_nonpersistent_flags+=("--repository-file2") + local_nonpersistent_flags+=("--repository-file2=") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -1115,14 +1391,18 @@ _restic_key() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") flags+=("--new-password-file=") two_word_flags+=("--new-password-file") + local_nonpersistent_flags+=("--new-password-file") local_nonpersistent_flags+=("--new-password-file=") flags+=("--user=") two_word_flags+=("--user") + local_nonpersistent_flags+=("--user") local_nonpersistent_flags+=("--user=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1180,6 +1460,7 @@ _restic_list() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -1236,20 +1517,26 @@ _restic_ls() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--long") flags+=("-l") local_nonpersistent_flags+=("--long") + local_nonpersistent_flags+=("-l") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--recursive") local_nonpersistent_flags+=("--recursive") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1307,9 +1594,11 @@ _restic_migrate() flags+=("--force") flags+=("-f") local_nonpersistent_flags+=("--force") + local_nonpersistent_flags+=("-f") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -1368,22 +1657,28 @@ _restic_mount() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--no-default-permissions") local_nonpersistent_flags+=("--no-default-permissions") flags+=("--owner-root") local_nonpersistent_flags+=("--owner-root") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--snapshot-template=") two_word_flags+=("--snapshot-template") + local_nonpersistent_flags+=("--snapshot-template") local_nonpersistent_flags+=("--snapshot-template=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1441,14 +1736,18 @@ _restic_prune() flags+=("--dry-run") flags+=("-n") local_nonpersistent_flags+=("--dry-run") + local_nonpersistent_flags+=("-n") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--max-repack-size=") two_word_flags+=("--max-repack-size") + local_nonpersistent_flags+=("--max-repack-size") local_nonpersistent_flags+=("--max-repack-size=") flags+=("--max-unused=") two_word_flags+=("--max-unused") + local_nonpersistent_flags+=("--max-unused") local_nonpersistent_flags+=("--max-unused=") flags+=("--repack-cacheable-only") local_nonpersistent_flags+=("--repack-cacheable-only") @@ -1508,6 +1807,7 @@ _restic_rebuild-index() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--read-all-packs") local_nonpersistent_flags+=("--read-all-packs") flags+=("--cacert=") @@ -1566,6 +1866,7 @@ _restic_recover() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -1622,34 +1923,47 @@ _restic_restore() flags+=("--exclude=") two_word_flags+=("--exclude") two_word_flags+=("-e") + local_nonpersistent_flags+=("--exclude") local_nonpersistent_flags+=("--exclude=") + local_nonpersistent_flags+=("-e") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--iexclude=") two_word_flags+=("--iexclude") + local_nonpersistent_flags+=("--iexclude") local_nonpersistent_flags+=("--iexclude=") flags+=("--iinclude=") two_word_flags+=("--iinclude") + local_nonpersistent_flags+=("--iinclude") local_nonpersistent_flags+=("--iinclude=") flags+=("--include=") two_word_flags+=("--include") two_word_flags+=("-i") + local_nonpersistent_flags+=("--include") local_nonpersistent_flags+=("--include=") + local_nonpersistent_flags+=("-i") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--target=") two_word_flags+=("--target") two_word_flags+=("-t") + local_nonpersistent_flags+=("--target") local_nonpersistent_flags+=("--target=") + local_nonpersistent_flags+=("-t") flags+=("--verify") local_nonpersistent_flags+=("--verify") flags+=("--cacert=") @@ -1708,8 +2022,10 @@ _restic_self-update() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--output=") two_word_flags+=("--output") + local_nonpersistent_flags+=("--output") local_nonpersistent_flags+=("--output=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1767,24 +2083,34 @@ _restic_snapshots() flags+=("--compact") flags+=("-c") local_nonpersistent_flags+=("--compact") + local_nonpersistent_flags+=("-c") flags+=("--group-by=") two_word_flags+=("--group-by") two_word_flags+=("-g") + local_nonpersistent_flags+=("--group-by") local_nonpersistent_flags+=("--group-by=") + local_nonpersistent_flags+=("-g") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") - flags+=("--last") - local_nonpersistent_flags+=("--last") + local_nonpersistent_flags+=("-H") + flags+=("--latest=") + two_word_flags+=("--latest") + local_nonpersistent_flags+=("--latest") + local_nonpersistent_flags+=("--latest=") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1842,18 +2168,24 @@ _restic_stats() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--mode=") two_word_flags+=("--mode") + local_nonpersistent_flags+=("--mode") local_nonpersistent_flags+=("--mode=") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1910,25 +2242,33 @@ _restic_tag() flags+=("--add=") two_word_flags+=("--add") + local_nonpersistent_flags+=("--add") local_nonpersistent_flags+=("--add=") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--host=") two_word_flags+=("--host") two_word_flags+=("-H") + local_nonpersistent_flags+=("--host") local_nonpersistent_flags+=("--host=") + local_nonpersistent_flags+=("-H") flags+=("--path=") two_word_flags+=("--path") + local_nonpersistent_flags+=("--path") local_nonpersistent_flags+=("--path=") flags+=("--remove=") two_word_flags+=("--remove") + local_nonpersistent_flags+=("--remove") local_nonpersistent_flags+=("--remove=") flags+=("--set=") two_word_flags+=("--set") + local_nonpersistent_flags+=("--set") local_nonpersistent_flags+=("--set=") flags+=("--tag=") two_word_flags+=("--tag") + local_nonpersistent_flags+=("--tag") local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") two_word_flags+=("--cacert") @@ -1986,6 +2326,7 @@ _restic_unlock() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--remove-all") local_nonpersistent_flags+=("--remove-all") flags+=("--cacert=") @@ -2044,6 +2385,7 @@ _restic_version() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--cacert=") two_word_flags+=("--cacert") flags+=("--cache-dir=") @@ -2100,6 +2442,7 @@ _restic_root_command() commands+=("find") commands+=("forget") commands+=("generate") + commands+=("help") commands+=("init") commands+=("key") commands+=("list") @@ -2131,6 +2474,7 @@ _restic_root_command() flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") + local_nonpersistent_flags+=("-h") flags+=("--json") flags+=("--key-hint=") two_word_flags+=("--key-hint") @@ -2167,7 +2511,7 @@ _restic_root_command() __start_restic() { - local cur prev words cword + local cur prev words cword split declare -A flaghash 2>/dev/null || : declare -A aliashash 2>/dev/null || : if declare -F _init_completion >/dev/null 2>&1; then @@ -2183,10 +2527,13 @@ __start_restic() local flags_with_completion=() local flags_completion=() local commands=("restic") + local command_aliases=() local must_have_one_flag=() local must_have_one_noun=() + local has_completion_function local last_command local nouns=() + local noun_aliases=() __restic_handle_word } diff --git a/doc/fish-completion.fish b/doc/fish-completion.fish new file mode 100644 index 000000000..16ec8f467 --- /dev/null +++ b/doc/fish-completion.fish @@ -0,0 +1,176 @@ +# fish completion for restic -*- shell-script -*- + +function __restic_debug + set -l file "$BASH_COMP_DEBUG_FILE" + if test -n "$file" + echo "$argv" >> $file + end +end + +function __restic_perform_completion + __restic_debug "Starting __restic_perform_completion" + + # Extract all args except the last one + set -l args (commandline -opc) + # Extract the last arg and escape it in case it is a space + set -l lastArg (string escape -- (commandline -ct)) + + __restic_debug "args: $args" + __restic_debug "last arg: $lastArg" + + set -l requestComp "$args[1] __complete $args[2..-1] $lastArg" + + __restic_debug "Calling $requestComp" + set -l results (eval $requestComp 2> /dev/null) + + # Some programs may output extra empty lines after the directive. + # Let's ignore them or else it will break completion. + # Ref: https://github.com/spf13/cobra/issues/1279 + for line in $results[-1..1] + if test (string trim -- $line) = "" + # Found an empty line, remove it + set results $results[1..-2] + else + # Found non-empty line, we have our proper output + break + end + end + + set -l comps $results[1..-2] + set -l directiveLine $results[-1] + + # For Fish, when completing a flag with an = (e.g., -n=) + # completions must be prefixed with the flag + set -l flagPrefix (string match -r -- '-.*=' "$lastArg") + + __restic_debug "Comps: $comps" + __restic_debug "DirectiveLine: $directiveLine" + __restic_debug "flagPrefix: $flagPrefix" + + for comp in $comps + printf "%s%s\n" "$flagPrefix" "$comp" + end + + printf "%s\n" "$directiveLine" +end + +# This function does two things: +# - Obtain the completions and store them in the global __restic_comp_results +# - Return false if file completion should be performed +function __restic_prepare_completions + __restic_debug "" + __restic_debug "========= starting completion logic ==========" + + # Start fresh + set --erase __restic_comp_results + + set -l results (__restic_perform_completion) + __restic_debug "Completion results: $results" + + if test -z "$results" + __restic_debug "No completion, probably due to a failure" + # Might as well do file completion, in case it helps + return 1 + end + + set -l directive (string sub --start 2 $results[-1]) + set --global __restic_comp_results $results[1..-2] + + __restic_debug "Completions are: $__restic_comp_results" + __restic_debug "Directive is: $directive" + + set -l shellCompDirectiveError 1 + set -l shellCompDirectiveNoSpace 2 + set -l shellCompDirectiveNoFileComp 4 + set -l shellCompDirectiveFilterFileExt 8 + set -l shellCompDirectiveFilterDirs 16 + + if test -z "$directive" + set directive 0 + end + + set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2) + if test $compErr -eq 1 + __restic_debug "Received error directive: aborting." + # Might as well do file completion, in case it helps + return 1 + end + + set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2) + set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2) + if test $filefilter -eq 1; or test $dirfilter -eq 1 + __restic_debug "File extension filtering or directory filtering not supported" + # Do full file completion instead + return 1 + end + + set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2) + set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2) + + __restic_debug "nospace: $nospace, nofiles: $nofiles" + + # If we want to prevent a space, or if file completion is NOT disabled, + # we need to count the number of valid completions. + # To do so, we will filter on prefix as the completions we have received + # may not already be filtered so as to allow fish to match on different + # criteria than the prefix. + if test $nospace -ne 0; or test $nofiles -eq 0 + set -l prefix (commandline -t | string escape --style=regex) + __restic_debug "prefix: $prefix" + + set -l completions (string match -r -- "^$prefix.*" $__restic_comp_results) + set --global __restic_comp_results $completions + __restic_debug "Filtered completions are: $__restic_comp_results" + + # Important not to quote the variable for count to work + set -l numComps (count $__restic_comp_results) + __restic_debug "numComps: $numComps" + + if test $numComps -eq 1; and test $nospace -ne 0 + # We must first split on \t to get rid of the descriptions to be + # able to check what the actual completion will be. + # We don't need descriptions anyway since there is only a single + # real completion which the shell will expand immediately. + set -l split (string split --max 1 \t $__restic_comp_results[1]) + + # Fish won't add a space if the completion ends with any + # of the following characters: @=/:., + set -l lastChar (string sub -s -1 -- $split) + if not string match -r -q "[@=/:.,]" -- "$lastChar" + # In other cases, to support the "nospace" directive we trick the shell + # by outputting an extra, longer completion. + __restic_debug "Adding second completion to perform nospace directive" + set --global __restic_comp_results $split[1] $split[1]. + __restic_debug "Completions are now: $__restic_comp_results" + end + end + + if test $numComps -eq 0; and test $nofiles -eq 0 + # To be consistent with bash and zsh, we only trigger file + # completion when there are no other completions + __restic_debug "Requesting file completion" + return 1 + end + end + + return 0 +end + +# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves +# so we can properly delete any completions provided by another script. +# Only do this if the program can be found, or else fish may print some errors; besides, +# the existing completions will only be loaded if the program can be found. +if type -q "restic" + # The space after the program name is essential to trigger completion for the program + # and not completion of the program name itself. + # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. + complete --do-complete "restic " > /dev/null 2>&1 +end + +# Remove any pre-existing completions for the program since we will be handling all of them. +complete -c restic -e + +# The call to __restic_prepare_completions will setup __restic_comp_results +# which provides the program's completion choices. +complete -c restic -n '__restic_prepare_completions' -f -a '$__restic_comp_results' + diff --git a/doc/man/restic-backup.1 b/doc/man/restic-backup.1 index 45cc8f146..6d4cf2a00 100644 --- a/doc/man/restic-backup.1 +++ b/doc/man/restic-backup.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -29,162 +27,161 @@ Exit status is 3 if some source data could not be read (incomplete snapshot crea .SH OPTIONS .PP \fB\-e\fP, \fB\-\-exclude\fP=[] - exclude a \fB\fCpattern\fR (can be specified multiple times) + exclude a \fB\fCpattern\fR (can be specified multiple times) .PP \fB\-\-exclude\-caches\fP[=false] - excludes cache directories that are marked with a CACHEDIR.TAG file. See -\[la]https://bford.info/cachedir/\[ra] for the Cache Directory Tagging Standard + excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard .PP \fB\-\-exclude\-file\fP=[] - read exclude patterns from a \fB\fCfile\fR (can be specified multiple times) + read exclude patterns from a \fB\fCfile\fR (can be specified multiple times) .PP \fB\-\-exclude\-if\-present\fP=[] - takes \fB\fCfilename[:header]\fR, exclude contents of directories containing filename (except filename itself) if header of that file is as provided (can be specified multiple times) + takes \fB\fCfilename[:header]\fR, exclude contents of directories containing filename (except filename itself) if header of that file is as provided (can be specified multiple times) .PP \fB\-\-exclude\-larger\-than\fP="" - max \fB\fCsize\fR of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T) + max \fB\fCsize\fR of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T) .PP \fB\-\-files\-from\fP=[] - read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) + read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) .PP \fB\-\-files\-from\-raw\fP=[] - read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) + read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) .PP \fB\-\-files\-from\-verbatim\fP=[] - read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) + read the files to backup from \fB\fCfile\fR (can be combined with file args; can be specified multiple times) .PP \fB\-f\fP, \fB\-\-force\fP[=false] - force re\-reading the target files/directories (overrides the "parent" flag) + force re\-reading the target files/directories (overrides the "parent" flag) .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for backup + help for backup .PP \fB\-H\fP, \fB\-\-host\fP="" - set the \fB\fChostname\fR for the snapshot manually. To prevent an expensive rescan use the "parent" flag + set the \fB\fChostname\fR for the snapshot manually. To prevent an expensive rescan use the "parent" flag .PP \fB\-\-iexclude\fP=[] - same as \-\-exclude \fB\fCpattern\fR but ignores the casing of filenames + same as \-\-exclude \fB\fCpattern\fR but ignores the casing of filenames .PP \fB\-\-iexclude\-file\fP=[] - same as \-\-exclude\-file but ignores casing of \fB\fCfile\fRnames in patterns + same as \-\-exclude\-file but ignores casing of \fB\fCfile\fRnames in patterns .PP \fB\-\-ignore\-ctime\fP[=false] - ignore ctime changes when checking for modified files + ignore ctime changes when checking for modified files .PP \fB\-\-ignore\-inode\fP[=false] - ignore inode number changes when checking for modified files + ignore inode number changes when checking for modified files .PP \fB\-x\fP, \fB\-\-one\-file\-system\fP[=false] - exclude other file systems + exclude other file systems, don't cross filesystem boundaries and subvolumes .PP \fB\-\-parent\fP="" - use this parent \fB\fCsnapshot\fR (default: last snapshot in the repo that has the same target files/directories) + use this parent \fB\fCsnapshot\fR (default: last snapshot in the repo that has the same target files/directories) .PP \fB\-\-stdin\fP[=false] - read backup from stdin + read backup from stdin .PP \fB\-\-stdin\-filename\fP="stdin" - \fB\fCfilename\fR to use when reading from stdin + \fB\fCfilename\fR to use when reading from stdin .PP \fB\-\-tag\fP=[] - add \fB\fCtags\fR for the new snapshot in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) + add \fB\fCtags\fR for the new snapshot in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) .PP \fB\-\-time\fP="" - \fB\fCtime\fR of the backup (ex. '2012\-11\-01 22:08:41') (default: now) + \fB\fCtime\fR of the backup (ex. '2012\-11\-01 22:08:41') (default: now) .PP \fB\-\-with\-atime\fP[=false] - store the atime for all files and directories + store the atime for all files and directories .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-cache.1 b/doc/man/restic-cache.1 index 03d5fbda9..3c0fc2fc4 100644 --- a/doc/man/restic-cache.1 +++ b/doc/man/restic-cache.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,89 +24,89 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-cleanup\fP[=false] - remove old cache directories + remove old cache directories .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for cache + help for cache .PP \fB\-\-max\-age\fP=30 - max age in \fB\fCdays\fR for cache directories to be considered old + max age in \fB\fCdays\fR for cache directories to be considered old .PP \fB\-\-no\-size\fP[=false] - do not output the size of the cache directories + do not output the size of the cache directories .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-cat.1 b/doc/man/restic-cat.1 index 2c204e2e7..5ccb043c5 100644 --- a/doc/man/restic-cat.1 +++ b/doc/man/restic-cat.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,77 +24,77 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for cat + help for cat .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-check.1 b/doc/man/restic-check.1 index e87d636c2..71a8146c3 100644 --- a/doc/man/restic-check.1 +++ b/doc/man/restic-check.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -31,93 +29,93 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-check\-unused\fP[=false] - find unused blobs + find unused blobs .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for check + help for check .PP \fB\-\-read\-data\fP[=false] - read all data blobs + read all data blobs .PP \fB\-\-read\-data\-subset\fP="" - read a \fB\fCsubset\fR of data packs, specified as 'n/t' for specific subset or either 'x%' or 'x.y%' for random subset + read a \fB\fCsubset\fR of data packs, specified as 'n/t' for specific subset or either 'x%' or 'x.y%' for random subset .PP \fB\-\-with\-cache\fP[=false] - use the cache + use the cache .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-copy.1 b/doc/man/restic-copy.1 index 794057c5d..a6254971d 100644 --- a/doc/man/restic-copy.1 +++ b/doc/man/restic-copy.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -35,105 +33,109 @@ new destination repository using the "init" command. .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for copy + help for copy .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) + only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) .PP \fB\-\-key\-hint2\fP="" - key ID of key to try decrypting the destination repository first (default: $RESTIC\_KEY\_HINT2) + key ID of key to try decrypting the destination repository first (default: $RESTIC\_KEY\_HINT2) .PP \fB\-\-password\-command2\fP="" - shell \fB\fCcommand\fR to obtain the destination repository password from (default: $RESTIC\_PASSWORD\_COMMAND2) + shell \fB\fCcommand\fR to obtain the destination repository password from (default: $RESTIC\_PASSWORD\_COMMAND2) .PP \fB\-\-password\-file2\fP="" - \fB\fCfile\fR to read the destination repository password from (default: $RESTIC\_PASSWORD\_FILE2) + \fB\fCfile\fR to read the destination repository password from (default: $RESTIC\_PASSWORD\_FILE2) .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot ID is given + only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot ID is given .PP \fB\-\-repo2\fP="" - destination \fB\fCrepository\fR to copy snapshots to (default: $RESTIC\_REPOSITORY2) + destination \fB\fCrepository\fR to copy snapshots to (default: $RESTIC\_REPOSITORY2) + +.PP +\fB\-\-repository\-file2\fP="" + \fB\fCfile\fR from which to read the destination repository location to copy snapshots to (default: $RESTIC\_REPOSITORY\_FILE2) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given + only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-diff.1 b/doc/man/restic-diff.1 index c0e513d19..590b85027 100644 --- a/doc/man/restic-diff.1 +++ b/doc/man/restic-diff.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -42,81 +40,81 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for diff + help for diff .PP \fB\-\-metadata\fP[=false] - print changes in metadata + print changes in metadata .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-dump.1 b/doc/man/restic-dump.1 index 8a6be5dde..a04bd3bbd 100644 --- a/doc/man/restic-dump.1 +++ b/doc/man/restic-dump.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -33,93 +31,93 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-a\fP, \fB\-\-archive\fP="tar" - set archive \fB\fCformat\fR as "tar" or "zip" + set archive \fB\fCformat\fR as "tar" or "zip" .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for dump + help for dump .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times) + only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times) .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR for snapshot ID "latest" + only consider snapshots which include this (absolute) \fB\fCpath\fR for snapshot ID "latest" .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR for snapshot ID "latest" + only consider snapshots which include this \fB\fCtaglist\fR for snapshot ID "latest" .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-find.1 b/doc/man/restic-find.1 index 97ccdeedb..9a7275648 100644 --- a/doc/man/restic-find.1 +++ b/doc/man/restic-find.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -23,125 +21,125 @@ It can also be used to search for restic blobs or trees for troubleshooting. .SH OPTIONS .PP \fB\-\-blob\fP[=false] - pattern is a blob\-ID + pattern is a blob\-ID .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for find + help for find .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) + only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) .PP \fB\-i\fP, \fB\-\-ignore\-case\fP[=false] - ignore case for pattern + ignore case for pattern .PP \fB\-l\fP, \fB\-\-long\fP[=false] - use a long listing format showing size and mode + use a long listing format showing size and mode .PP \fB\-N\fP, \fB\-\-newest\fP="" - newest modification date/time + newest modification date/time .PP \fB\-O\fP, \fB\-\-oldest\fP="" - oldest modification date/time + oldest modification date/time .PP \fB\-\-pack\fP[=false] - pattern is a pack\-ID + pattern is a pack\-ID .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot\-ID is given + only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot\-ID is given .PP \fB\-\-show\-pack\-id\fP[=false] - display the pack\-ID the blobs belong to (with \-\-blob or \-\-tree) + display the pack\-ID the blobs belong to (with \-\-blob or \-\-tree) .PP \fB\-s\fP, \fB\-\-snapshot\fP=[] - snapshot \fB\fCid\fR to search in (can be given multiple times) + snapshot \fB\fCid\fR to search in (can be given multiple times) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot\-ID is given + only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot\-ID is given .PP \fB\-\-tree\fP[=false] - pattern is a tree\-ID + pattern is a tree\-ID .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH EXAMPLE diff --git a/doc/man/restic-forget.1 b/doc/man/restic-forget.1 index 6fc6c44c1..e22ebc12b 100644 --- a/doc/man/restic-forget.1 +++ b/doc/man/restic-forget.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -29,149 +27,169 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-l\fP, \fB\-\-keep\-last\fP=0 - keep the last \fB\fCn\fR snapshots + keep the last \fB\fCn\fR snapshots .PP \fB\-H\fP, \fB\-\-keep\-hourly\fP=0 - keep the last \fB\fCn\fR hourly snapshots + keep the last \fB\fCn\fR hourly snapshots .PP \fB\-d\fP, \fB\-\-keep\-daily\fP=0 - keep the last \fB\fCn\fR daily snapshots + keep the last \fB\fCn\fR daily snapshots .PP \fB\-w\fP, \fB\-\-keep\-weekly\fP=0 - keep the last \fB\fCn\fR weekly snapshots + keep the last \fB\fCn\fR weekly snapshots .PP \fB\-m\fP, \fB\-\-keep\-monthly\fP=0 - keep the last \fB\fCn\fR monthly snapshots + keep the last \fB\fCn\fR monthly snapshots .PP \fB\-y\fP, \fB\-\-keep\-yearly\fP=0 - keep the last \fB\fCn\fR yearly snapshots + keep the last \fB\fCn\fR yearly snapshots .PP \fB\-\-keep\-within\fP= - keep snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + keep snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + +.PP +\fB\-\-keep\-within\-hourly\fP= + keep hourly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + +.PP +\fB\-\-keep\-within\-daily\fP= + keep daily snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + +.PP +\fB\-\-keep\-within\-weekly\fP= + keep weekly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + +.PP +\fB\-\-keep\-within\-monthly\fP= + keep monthly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot + +.PP +\fB\-\-keep\-within\-yearly\fP= + keep yearly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot .PP \fB\-\-keep\-tag\fP=[] - keep snapshots with this \fB\fCtaglist\fR (can be specified multiple times) + keep snapshots with this \fB\fCtaglist\fR (can be specified multiple times) .PP \fB\-\-host\fP=[] - only consider snapshots with the given \fB\fChost\fR (can be specified multiple times) + only consider snapshots with the given \fB\fChost\fR (can be specified multiple times) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) + only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR (can be specified multiple times) + only consider snapshots which include this (absolute) \fB\fCpath\fR (can be specified multiple times) .PP \fB\-c\fP, \fB\-\-compact\fP[=false] - use compact output format + use compact output format .PP \fB\-g\fP, \fB\-\-group\-by\fP="host,paths" - string for grouping snapshots by host,paths,tags + string for grouping snapshots by host,paths,tags .PP \fB\-n\fP, \fB\-\-dry\-run\fP[=false] - do not delete anything, just print what would be done + do not delete anything, just print what would be done .PP \fB\-\-prune\fP[=false] - automatically run the 'prune' command if snapshots have been removed + automatically run the 'prune' command if snapshots have been removed .PP \fB\-\-max\-unused\fP="5%" - tolerate given \fB\fClimit\fR of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') + tolerate given \fB\fClimit\fR of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') .PP \fB\-\-max\-repack\-size\fP="" - maximum \fB\fCsize\fR to repack (allowed suffixes: k/K, m/M, g/G, t/T) + maximum \fB\fCsize\fR to repack (allowed suffixes: k/K, m/M, g/G, t/T) .PP \fB\-\-repack\-cacheable\-only\fP[=false] - only repack packs which are cacheable + only repack packs which are cacheable .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for forget + help for forget .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-generate.1 b/doc/man/restic-generate.1 index c65e1062d..611486013 100644 --- a/doc/man/restic-generate.1 +++ b/doc/man/restic-generate.1 @@ -1,11 +1,9 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP -restic\-generate \- Generate manual pages and auto\-completion files (bash, zsh) +restic\-generate \- Generate manual pages and auto\-completion files (bash, fish, zsh) .SH SYNOPSIS @@ -16,7 +14,7 @@ restic\-generate \- Generate manual pages and auto\-completion files (bash, zsh) .SH DESCRIPTION .PP The "generate" command writes automatically generated files (like the man pages -and the auto\-completion files for bash and zsh). +and the auto\-completion files for bash, fish and zsh). .SH EXIT STATUS @@ -27,89 +25,93 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-bash\-completion\fP="" - write bash completion \fB\fCfile\fR + write bash completion \fB\fCfile\fR + +.PP +\fB\-\-fish\-completion\fP="" + write fish completion \fB\fCfile\fR .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for generate + help for generate .PP \fB\-\-man\fP="" - write man pages to \fB\fCdirectory\fR + write man pages to \fB\fCdirectory\fR .PP \fB\-\-zsh\-completion\fP="" - write zsh completion \fB\fCfile\fR + write zsh completion \fB\fCfile\fR .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-init.1 b/doc/man/restic-init.1 index d6256a658..5811204c5 100644 --- a/doc/man/restic-init.1 +++ b/doc/man/restic-init.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,97 +24,101 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-copy\-chunker\-params\fP[=false] - copy chunker parameters from the secondary repository (useful with the copy command) + copy chunker parameters from the secondary repository (useful with the copy command) .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for init + help for init .PP \fB\-\-key\-hint2\fP="" - key ID of key to try decrypting the secondary repository first (default: $RESTIC\_KEY\_HINT2) + key ID of key to try decrypting the secondary repository first (default: $RESTIC\_KEY\_HINT2) .PP \fB\-\-password\-command2\fP="" - shell \fB\fCcommand\fR to obtain the secondary repository password from (default: $RESTIC\_PASSWORD\_COMMAND2) + shell \fB\fCcommand\fR to obtain the secondary repository password from (default: $RESTIC\_PASSWORD\_COMMAND2) .PP \fB\-\-password\-file2\fP="" - \fB\fCfile\fR to read the secondary repository password from (default: $RESTIC\_PASSWORD\_FILE2) + \fB\fCfile\fR to read the secondary repository password from (default: $RESTIC\_PASSWORD\_FILE2) .PP \fB\-\-repo2\fP="" - secondary \fB\fCrepository\fR to copy chunker parameters from (default: $RESTIC\_REPOSITORY2) + secondary \fB\fCrepository\fR to copy chunker parameters from (default: $RESTIC\_REPOSITORY2) + +.PP +\fB\-\-repository\-file2\fP="" + \fB\fCfile\fR from which to read the secondary repository location to copy chunker parameters from (default: $RESTIC\_REPOSITORY\_FILE2) .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-key.1 b/doc/man/restic-key.1 index 6ac3b91d0..8a7ab5dce 100644 --- a/doc/man/restic-key.1 +++ b/doc/man/restic-key.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,89 +24,89 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for key + help for key .PP \fB\-\-host\fP="" - the hostname for new keys + the hostname for new keys .PP \fB\-\-new\-password\-file\fP="" - \fB\fCfile\fR from which to read the new password + \fB\fCfile\fR from which to read the new password .PP \fB\-\-user\fP="" - the username for new keys + the username for new keys .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-list.1 b/doc/man/restic-list.1 index a33d7db69..02e4d0899 100644 --- a/doc/man/restic-list.1 +++ b/doc/man/restic-list.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,77 +24,77 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for list + help for list .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-ls.1 b/doc/man/restic-ls.1 index 9024487eb..348c952f6 100644 --- a/doc/man/restic-ls.1 +++ b/doc/man/restic-ls.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -41,97 +39,97 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for ls + help for ls .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) + only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) .PP \fB\-l\fP, \fB\-\-long\fP[=false] - use a long listing format showing size and mode + use a long listing format showing size and mode .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot ID is given + only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot ID is given .PP \fB\-\-recursive\fP[=false] - include files in subfolders of the listed directories + include files in subfolders of the listed directories .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given + only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-migrate.1 b/doc/man/restic-migrate.1 index 5e7c8acee..b089c41a0 100644 --- a/doc/man/restic-migrate.1 +++ b/doc/man/restic-migrate.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -27,81 +25,81 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-f\fP, \fB\-\-force\fP[=false] - apply a migration a second time + apply a migration a second time .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for migrate + help for migrate .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-mount.1 b/doc/man/restic-mount.1 index 06e524070..e2fdf2a24 100644 --- a/doc/man/restic-mount.1 +++ b/doc/man/restic-mount.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -47,8 +45,7 @@ Mon Jan 2 15:04:05 \-0700 MST 2006 .PP For details please see the documentation for time.Format() at: - -\[la]https://godoc.org/time#Time.Format\[ra] + https://godoc.org/time#Time.Format .SH EXIT STATUS @@ -59,105 +56,105 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-allow\-other\fP[=false] - allow other users to access the data in the mounted directory + allow other users to access the data in the mounted directory .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for mount + help for mount .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this host (can be specified multiple times) + only consider snapshots for this host (can be specified multiple times) .PP \fB\-\-no\-default\-permissions\fP[=false] - for 'allow\-other', ignore Unix permissions and allow users to read all snapshot files + for 'allow\-other', ignore Unix permissions and allow users to read all snapshot files .PP \fB\-\-owner\-root\fP[=false] - use 'root' as the owner of files and dirs + use 'root' as the owner of files and dirs .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR + only consider snapshots which include this (absolute) \fB\fCpath\fR .PP \fB\-\-snapshot\-template\fP="2006\-01\-02T15:04:05Z07:00" - set \fB\fCtemplate\fR to use for snapshot dirs + set \fB\fCtemplate\fR to use for snapshot dirs .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR + only consider snapshots which include this \fB\fCtaglist\fR .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-prune.1 b/doc/man/restic-prune.1 index 40c3c5d45..8a26826f1 100644 --- a/doc/man/restic-prune.1 +++ b/doc/man/restic-prune.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -27,93 +25,93 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-n\fP, \fB\-\-dry\-run\fP[=false] - do not modify the repository, just print what would be done + do not modify the repository, just print what would be done .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for prune + help for prune .PP \fB\-\-max\-repack\-size\fP="" - maximum \fB\fCsize\fR to repack (allowed suffixes: k/K, m/M, g/G, t/T) + maximum \fB\fCsize\fR to repack (allowed suffixes: k/K, m/M, g/G, t/T) .PP \fB\-\-max\-unused\fP="5%" - tolerate given \fB\fClimit\fR of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') + tolerate given \fB\fClimit\fR of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') .PP \fB\-\-repack\-cacheable\-only\fP[=false] - only repack packs which are cacheable + only repack packs which are cacheable .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-rebuild-index.1 b/doc/man/restic-rebuild-index.1 index a3aa51b4e..6a9aa5c28 100644 --- a/doc/man/restic-rebuild-index.1 +++ b/doc/man/restic-rebuild-index.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -27,81 +25,81 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for rebuild\-index + help for rebuild\-index .PP \fB\-\-read\-all\-packs\fP[=false] - read all pack files to generate new index from scratch + read all pack files to generate new index from scratch .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-recover.1 b/doc/man/restic-recover.1 index d174f96fd..becd9be66 100644 --- a/doc/man/restic-recover.1 +++ b/doc/man/restic-recover.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -28,77 +26,77 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for recover + help for recover .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-restore.1 b/doc/man/restic-restore.1 index a254a2f16..ed3c7afa5 100644 --- a/doc/man/restic-restore.1 +++ b/doc/man/restic-restore.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -31,113 +29,113 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-e\fP, \fB\-\-exclude\fP=[] - exclude a \fB\fCpattern\fR (can be specified multiple times) + exclude a \fB\fCpattern\fR (can be specified multiple times) .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for restore + help for restore .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times) + only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times) .PP \fB\-\-iexclude\fP=[] - same as \fB\fC\-\-exclude\fR but ignores the casing of filenames + same as \fB\fC\-\-exclude\fR but ignores the casing of filenames .PP \fB\-\-iinclude\fP=[] - same as \fB\fC\-\-include\fR but ignores the casing of filenames + same as \fB\fC\-\-include\fR but ignores the casing of filenames .PP \fB\-i\fP, \fB\-\-include\fP=[] - include a \fB\fCpattern\fR, exclude everything else (can be specified multiple times) + include a \fB\fCpattern\fR, exclude everything else (can be specified multiple times) .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR for snapshot ID "latest" + only consider snapshots which include this (absolute) \fB\fCpath\fR for snapshot ID "latest" .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR for snapshot ID "latest" + only consider snapshots which include this \fB\fCtaglist\fR for snapshot ID "latest" .PP \fB\-t\fP, \fB\-\-target\fP="" - directory to extract data to + directory to extract data to .PP \fB\-\-verify\fP[=false] - verify restored files content + verify restored files content .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-self-update.1 b/doc/man/restic-self-update.1 index 9f55325be..786e33026 100644 --- a/doc/man/restic-self-update.1 +++ b/doc/man/restic-self-update.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -29,81 +27,81 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for self\-update + help for self\-update .PP \fB\-\-output\fP="" - Save the downloaded file as \fB\fCfilename\fR (default: running binary itself) + Save the downloaded file as \fB\fCfilename\fR (default: running binary itself) .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-snapshots.1 b/doc/man/restic-snapshots.1 index 930328ade..e3e9013f6 100644 --- a/doc/man/restic-snapshots.1 +++ b/doc/man/restic-snapshots.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,101 +24,101 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-c\fP, \fB\-\-compact\fP[=false] - use compact output format + use compact output format .PP \fB\-g\fP, \fB\-\-group\-by\fP="" - string for grouping snapshots by host,paths,tags + string for grouping snapshots by host,paths,tags .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for snapshots + help for snapshots .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this \fB\fChost\fR (can be specified multiple times) + only consider snapshots for this \fB\fChost\fR (can be specified multiple times) .PP -\fB\-\-last\fP[=false] - only show the last snapshot for each host and path +\fB\-\-latest\fP=0 + only show the last \fB\fCn\fR snapshots for each host and path .PP \fB\-\-path\fP=[] - only consider snapshots for this \fB\fCpath\fR (can be specified multiple times) + only consider snapshots for this \fB\fCpath\fR (can be specified multiple times) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) + only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-stats.1 b/doc/man/restic-stats.1 index 45b2c7ea3..304bc3e65 100644 --- a/doc/man/restic-stats.1 +++ b/doc/man/restic-stats.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -56,93 +54,93 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for stats + help for stats .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots with the given \fB\fChost\fR (can be specified multiple times) + only consider snapshots with the given \fB\fChost\fR (can be specified multiple times) .PP \fB\-\-mode\fP="restore\-size" - counting mode: restore\-size (default), files\-by\-contents, blobs\-per\-file or raw\-data + counting mode: restore\-size (default), files\-by\-contents, blobs\-per\-file or raw\-data .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR (can be specified multiple times) + only consider snapshots which include this (absolute) \fB\fCpath\fR (can be specified multiple times) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) + only consider snapshots which include this \fB\fCtaglist\fR in the format \fB\fCtag[,tag,...]\fR (can be specified multiple times) .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-tag.1 b/doc/man/restic-tag.1 index 3e96ab036..8bec8f852 100644 --- a/doc/man/restic-tag.1 +++ b/doc/man/restic-tag.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -33,101 +31,101 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-\-add\fP=[] - \fB\fCtags\fR which will be added to the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) + \fB\fCtags\fR which will be added to the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for tag + help for tag .PP \fB\-H\fP, \fB\-\-host\fP=[] - only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) + only consider snapshots for this \fB\fChost\fR, when no snapshot ID is given (can be specified multiple times) .PP \fB\-\-path\fP=[] - only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot\-ID is given + only consider snapshots which include this (absolute) \fB\fCpath\fR, when no snapshot\-ID is given .PP \fB\-\-remove\fP=[] - \fB\fCtags\fR which will be removed from the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) + \fB\fCtags\fR which will be removed from the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) .PP \fB\-\-set\fP=[] - \fB\fCtags\fR which will replace the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) + \fB\fCtags\fR which will replace the existing tags in the format \fB\fCtag[,tag,...]\fR (can be given multiple times) .PP \fB\-\-tag\fP=[] - only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot\-ID is given + only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot\-ID is given .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-unlock.1 b/doc/man/restic-unlock.1 index 790ba6972..baf1b9973 100644 --- a/doc/man/restic-unlock.1 +++ b/doc/man/restic-unlock.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -26,81 +24,81 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for unlock + help for unlock .PP \fB\-\-remove\-all\fP[=false] - remove all locks, even non\-stale ones + remove all locks, even non\-stale ones .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic-version.1 b/doc/man/restic-version.1 index 64b99fc3a..900f821eb 100644 --- a/doc/man/restic-version.1 +++ b/doc/man/restic-version.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -27,77 +25,77 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e .SH OPTIONS .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for version + help for version .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/man/restic.1 b/doc/man/restic.1 index 42ddc26d6..1a3af09c7 100644 --- a/doc/man/restic.1 +++ b/doc/man/restic.1 @@ -1,7 +1,5 @@ -.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" .nh -.ad l - +.TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" "" .SH NAME .PP @@ -22,75 +20,75 @@ directories in an encrypted repository stored on different backends. .SH OPTIONS .PP \fB\-\-cacert\fP=[] - \fB\fCfile\fR to load root certificates from (default: use system certificates) + \fB\fCfile\fR to load root certificates from (default: use system certificates) .PP \fB\-\-cache\-dir\fP="" - set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) + set the cache \fB\fCdirectory\fR\&. (default: use system default cache directory) .PP \fB\-\-cleanup\-cache\fP[=false] - auto remove old cache directories + auto remove old cache directories .PP \fB\-h\fP, \fB\-\-help\fP[=false] - help for restic + help for restic .PP \fB\-\-json\fP[=false] - set output mode to JSON for commands that support it + set output mode to JSON for commands that support it .PP \fB\-\-key\-hint\fP="" - \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) + \fB\fCkey\fR ID of key to try decrypting first (default: $RESTIC\_KEY\_HINT) .PP \fB\-\-limit\-download\fP=0 - limits downloads to a maximum rate in KiB/s. (default: unlimited) + limits downloads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-limit\-upload\fP=0 - limits uploads to a maximum rate in KiB/s. (default: unlimited) + limits uploads to a maximum rate in KiB/s. (default: unlimited) .PP \fB\-\-no\-cache\fP[=false] - do not use a local cache + do not use a local cache .PP \fB\-\-no\-lock\fP[=false] - do not lock the repository, this allows some operations on read\-only repositories + do not lock the repository, this allows some operations on read\-only repositories .PP \fB\-o\fP, \fB\-\-option\fP=[] - set extended option (\fB\fCkey=value\fR, can be specified multiple times) + set extended option (\fB\fCkey=value\fR, can be specified multiple times) .PP \fB\-\-password\-command\fP="" - shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) + shell \fB\fCcommand\fR to obtain the repository password from (default: $RESTIC\_PASSWORD\_COMMAND) .PP \fB\-p\fP, \fB\-\-password\-file\fP="" - \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) + \fB\fCfile\fR to read the repository password from (default: $RESTIC\_PASSWORD\_FILE) .PP \fB\-q\fP, \fB\-\-quiet\fP[=false] - do not output comprehensive progress report + do not output comprehensive progress report .PP \fB\-r\fP, \fB\-\-repo\fP="" - \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) + \fB\fCrepository\fR to backup to or restore from (default: $RESTIC\_REPOSITORY) .PP \fB\-\-repository\-file\fP="" - \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) + \fB\fCfile\fR to read the repository location from (default: $RESTIC\_REPOSITORY\_FILE) .PP \fB\-\-tls\-client\-cert\fP="" - path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key + path to a \fB\fCfile\fR containing PEM encoded TLS client certificate and private key .PP \fB\-v\fP, \fB\-\-verbose\fP[=0] - be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) + be verbose (specify multiple times or a level using \-\-verbose=\fB\fCn\fR, max level/times is 3) .SH SEE ALSO diff --git a/doc/zsh-completion.zsh b/doc/zsh-completion.zsh index 2951f601a..d2dca5683 100644 --- a/doc/zsh-completion.zsh +++ b/doc/zsh-completion.zsh @@ -1,867 +1,177 @@ #compdef _restic restic +# zsh completion for restic -*- shell-script -*- -function _restic { - local -a commands - - _arguments -C \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '(-h --help)'{-h,--help}'[help for restic]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' \ - "1: :->cmnds" \ - "*::arg:->args" - - case $state in - cmnds) - commands=( - "backup:Create a new backup of files and/or directories" - "cache:Operate on local cache directories" - "cat:Print internal objects to stdout" - "check:Check the repository for errors" - "copy:Copy snapshots from one repository to another" - "diff:Show differences between two snapshots" - "dump:Print a backed-up file to stdout" - "find:Find a file, a directory or restic IDs" - "forget:Remove snapshots from the repository" - "generate:Generate manual pages and auto-completion files (bash, zsh)" - "help:Help about any command" - "init:Initialize a new repository" - "key:Manage keys (passwords)" - "list:List objects in the repository" - "ls:List files in a snapshot" - "migrate:Apply migrations" - "mount:Mount the repository" - "prune:Remove unneeded data from the repository" - "rebuild-index:Build a new index" - "recover:Recover data from the repository" - "restore:Extract the data from a snapshot" - "self-update:Update the restic binary" - "snapshots:List all snapshots" - "stats:Scan the repository and show basic statistics" - "tag:Modify tags on snapshots" - "unlock:Remove locks other processes created" - "version:Print version information" - ) - _describe "command" commands - ;; - esac - - case "$words[1]" in - backup) - _restic_backup - ;; - cache) - _restic_cache - ;; - cat) - _restic_cat - ;; - check) - _restic_check - ;; - copy) - _restic_copy - ;; - diff) - _restic_diff - ;; - dump) - _restic_dump - ;; - find) - _restic_find - ;; - forget) - _restic_forget - ;; - generate) - _restic_generate - ;; - help) - _restic_help - ;; - init) - _restic_init - ;; - key) - _restic_key - ;; - list) - _restic_list - ;; - ls) - _restic_ls - ;; - migrate) - _restic_migrate - ;; - mount) - _restic_mount - ;; - prune) - _restic_prune - ;; - rebuild-index) - _restic_rebuild-index - ;; - recover) - _restic_recover - ;; - restore) - _restic_restore - ;; - self-update) - _restic_self-update - ;; - snapshots) - _restic_snapshots - ;; - stats) - _restic_stats - ;; - tag) - _restic_tag - ;; - unlock) - _restic_unlock - ;; - version) - _restic_version - ;; - esac +__restic_debug() +{ + local file="$BASH_COMP_DEBUG_FILE" + if [[ -n ${file} ]]; then + echo "$*" >> "${file}" + fi } -function _restic_backup { - _arguments \ - '(*-e *--exclude)'{\*-e,\*--exclude}'[exclude a `pattern` (can be specified multiple times)]:' \ - '--exclude-caches[excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard]' \ - '*--exclude-file[read exclude patterns from a `file` (can be specified multiple times)]:' \ - '*--exclude-if-present[takes `filename[:header]`, exclude contents of directories containing filename (except filename itself) if header of that file is as provided (can be specified multiple times)]:' \ - '--exclude-larger-than[max `size` of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T)]:' \ - '*--files-from[read the files to backup from `file` (can be combined with file args; can be specified multiple times)]:' \ - '*--files-from-raw[read the files to backup from `file` (can be combined with file args; can be specified multiple times)]:' \ - '*--files-from-verbatim[read the files to backup from `file` (can be combined with file args; can be specified multiple times)]:' \ - '(-f --force)'{-f,--force}'[force re-reading the target files/directories (overrides the "parent" flag)]' \ - '(-h --help)'{-h,--help}'[help for backup]' \ - '(-H --host)'{-H,--host}'[set the `hostname` for the snapshot manually. To prevent an expensive rescan use the "parent" flag]:' \ - '*--iexclude[same as --exclude `pattern` but ignores the casing of filenames]:' \ - '*--iexclude-file[same as --exclude-file but ignores casing of `file`names in patterns]:' \ - '--ignore-ctime[ignore ctime changes when checking for modified files]' \ - '--ignore-inode[ignore inode number changes when checking for modified files]' \ - '(-x --one-file-system)'{-x,--one-file-system}'[exclude other file systems]' \ - '--parent[use this parent `snapshot` (default: last snapshot in the repo that has the same target files/directories)]:' \ - '--stdin[read backup from stdin]' \ - '--stdin-filename[`filename` to use when reading from stdin]:' \ - '--tag[add `tags` for the new snapshot in the format `tag[,tag,...]` (can be specified multiple times)]:' \ - '--time[`time` of the backup (ex. '\''2012-11-01 22:08:41'\'') (default: now)]:' \ - '--with-atime[store the atime for all files and directories]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_cache { - _arguments \ - '--cleanup[remove old cache directories]' \ - '(-h --help)'{-h,--help}'[help for cache]' \ - '--max-age[max age in `days` for cache directories to be considered old]:' \ - '--no-size[do not output the size of the cache directories]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_cat { - _arguments \ - '(-h --help)'{-h,--help}'[help for cat]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_check { - _arguments \ - '--check-unused[find unused blobs]' \ - '(-h --help)'{-h,--help}'[help for check]' \ - '--read-data[read all data blobs]' \ - '--read-data-subset[read a `subset` of data packs, specified as '\''n/t'\'' for specific subset or either '\''x%'\'' or '\''x.y%'\'' for random subset]:' \ - '--with-cache[use the cache]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_copy { - _arguments \ - '(-h --help)'{-h,--help}'[help for copy]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this `host`, when no snapshot ID is given (can be specified multiple times)]:' \ - '--key-hint2[key ID of key to try decrypting the destination repository first (default: $RESTIC_KEY_HINT2)]:' \ - '--password-command2[shell `command` to obtain the destination repository password from (default: $RESTIC_PASSWORD_COMMAND2)]:' \ - '--password-file2[`file` to read the destination repository password from (default: $RESTIC_PASSWORD_FILE2)]:' \ - '*--path[only consider snapshots which include this (absolute) `path`, when no snapshot ID is given]:' \ - '--repo2[destination `repository` to copy snapshots to (default: $RESTIC_REPOSITORY2)]:' \ - '--tag[only consider snapshots which include this `taglist`, when no snapshot ID is given]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_diff { - _arguments \ - '(-h --help)'{-h,--help}'[help for diff]' \ - '--metadata[print changes in metadata]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_dump { - _arguments \ - '(-a --archive)'{-a,--archive}'[set archive `format` as "tar" or "zip"]:' \ - '(-h --help)'{-h,--help}'[help for dump]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times)]:' \ - '*--path[only consider snapshots which include this (absolute) `path` for snapshot ID "latest"]:' \ - '--tag[only consider snapshots which include this `taglist` for snapshot ID "latest"]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_find { - _arguments \ - '--blob[pattern is a blob-ID]' \ - '(-h --help)'{-h,--help}'[help for find]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this `host`, when no snapshot ID is given (can be specified multiple times)]:' \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case for pattern]' \ - '(-l --long)'{-l,--long}'[use a long listing format showing size and mode]' \ - '(-N --newest)'{-N,--newest}'[newest modification date/time]:' \ - '(-O --oldest)'{-O,--oldest}'[oldest modification date/time]:' \ - '--pack[pattern is a pack-ID]' \ - '*--path[only consider snapshots which include this (absolute) `path`, when no snapshot-ID is given]:' \ - '--show-pack-id[display the pack-ID the blobs belong to (with --blob or --tree)]' \ - '(*-s *--snapshot)'{\*-s,\*--snapshot}'[snapshot `id` to search in (can be given multiple times)]:' \ - '--tag[only consider snapshots which include this `taglist`, when no snapshot-ID is given]:' \ - '--tree[pattern is a tree-ID]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_forget { - _arguments \ - '(-l --keep-last)'{-l,--keep-last}'[keep the last `n` snapshots]:' \ - '(-H --keep-hourly)'{-H,--keep-hourly}'[keep the last `n` hourly snapshots]:' \ - '(-d --keep-daily)'{-d,--keep-daily}'[keep the last `n` daily snapshots]:' \ - '(-w --keep-weekly)'{-w,--keep-weekly}'[keep the last `n` weekly snapshots]:' \ - '(-m --keep-monthly)'{-m,--keep-monthly}'[keep the last `n` monthly snapshots]:' \ - '(-y --keep-yearly)'{-y,--keep-yearly}'[keep the last `n` yearly snapshots]:' \ - '--keep-within[keep snapshots that are newer than `duration` (eg. 1y5m7d2h) relative to the latest snapshot]:' \ - '--keep-tag[keep snapshots with this `taglist` (can be specified multiple times)]:' \ - '*--host[only consider snapshots with the given `host` (can be specified multiple times)]:' \ - '--tag[only consider snapshots which include this `taglist` in the format `tag[,tag,...]` (can be specified multiple times)]:' \ - '*--path[only consider snapshots which include this (absolute) `path` (can be specified multiple times)]:' \ - '(-c --compact)'{-c,--compact}'[use compact output format]' \ - '(-g --group-by)'{-g,--group-by}'[string for grouping snapshots by host,paths,tags]:' \ - '(-n --dry-run)'{-n,--dry-run}'[do not delete anything, just print what would be done]' \ - '--prune[automatically run the '\''prune'\'' command if snapshots have been removed]' \ - '--max-unused[tolerate given `limit` of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word '\''unlimited'\'')]:' \ - '--max-repack-size[maximum `size` to repack (allowed suffixes: k/K, m/M, g/G, t/T)]:' \ - '--repack-cacheable-only[only repack packs which are cacheable]' \ - '(-h --help)'{-h,--help}'[help for forget]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_generate { - _arguments \ - '--bash-completion[write bash completion `file`]:' \ - '(-h --help)'{-h,--help}'[help for generate]' \ - '--man[write man pages to `directory`]:' \ - '--zsh-completion[write zsh completion `file`]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_help { - _arguments \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_init { - _arguments \ - '--copy-chunker-params[copy chunker parameters from the secondary repository (useful with the copy command)]' \ - '(-h --help)'{-h,--help}'[help for init]' \ - '--key-hint2[key ID of key to try decrypting the secondary repository first (default: $RESTIC_KEY_HINT2)]:' \ - '--password-command2[shell `command` to obtain the secondary repository password from (default: $RESTIC_PASSWORD_COMMAND2)]:' \ - '--password-file2[`file` to read the secondary repository password from (default: $RESTIC_PASSWORD_FILE2)]:' \ - '--repo2[secondary `repository` to copy chunker parameters from (default: $RESTIC_REPOSITORY2)]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_key { - _arguments \ - '(-h --help)'{-h,--help}'[help for key]' \ - '--host[the hostname for new keys]:' \ - '--new-password-file[`file` from which to read the new password]:' \ - '--user[the username for new keys]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_list { - _arguments \ - '(-h --help)'{-h,--help}'[help for list]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_ls { - _arguments \ - '(-h --help)'{-h,--help}'[help for ls]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this `host`, when no snapshot ID is given (can be specified multiple times)]:' \ - '(-l --long)'{-l,--long}'[use a long listing format showing size and mode]' \ - '*--path[only consider snapshots which include this (absolute) `path`, when no snapshot ID is given]:' \ - '--recursive[include files in subfolders of the listed directories]' \ - '--tag[only consider snapshots which include this `taglist`, when no snapshot ID is given]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_migrate { - _arguments \ - '(-f --force)'{-f,--force}'[apply a migration a second time]' \ - '(-h --help)'{-h,--help}'[help for migrate]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_mount { - _arguments \ - '--allow-other[allow other users to access the data in the mounted directory]' \ - '(-h --help)'{-h,--help}'[help for mount]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this host (can be specified multiple times)]:' \ - '--no-default-permissions[for '\''allow-other'\'', ignore Unix permissions and allow users to read all snapshot files]' \ - '--owner-root[use '\''root'\'' as the owner of files and dirs]' \ - '*--path[only consider snapshots which include this (absolute) `path`]:' \ - '--snapshot-template[set `template` to use for snapshot dirs]:' \ - '--tag[only consider snapshots which include this `taglist`]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_prune { - _arguments \ - '(-n --dry-run)'{-n,--dry-run}'[do not modify the repository, just print what would be done]' \ - '(-h --help)'{-h,--help}'[help for prune]' \ - '--max-repack-size[maximum `size` to repack (allowed suffixes: k/K, m/M, g/G, t/T)]:' \ - '--max-unused[tolerate given `limit` of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word '\''unlimited'\'')]:' \ - '--repack-cacheable-only[only repack packs which are cacheable]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_rebuild-index { - _arguments \ - '(-h --help)'{-h,--help}'[help for rebuild-index]' \ - '--read-all-packs[read all pack files to generate new index from scratch]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_recover { - _arguments \ - '(-h --help)'{-h,--help}'[help for recover]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_restore { - _arguments \ - '(*-e *--exclude)'{\*-e,\*--exclude}'[exclude a `pattern` (can be specified multiple times)]:' \ - '(-h --help)'{-h,--help}'[help for restore]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this host when the snapshot ID is "latest" (can be specified multiple times)]:' \ - '*--iexclude[same as `--exclude` but ignores the casing of filenames]:' \ - '*--iinclude[same as `--include` but ignores the casing of filenames]:' \ - '(*-i *--include)'{\*-i,\*--include}'[include a `pattern`, exclude everything else (can be specified multiple times)]:' \ - '*--path[only consider snapshots which include this (absolute) `path` for snapshot ID "latest"]:' \ - '--tag[only consider snapshots which include this `taglist` for snapshot ID "latest"]:' \ - '(-t --target)'{-t,--target}'[directory to extract data to]:' \ - '--verify[verify restored files content]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_self-update { - _arguments \ - '(-h --help)'{-h,--help}'[help for self-update]' \ - '--output[Save the downloaded file as `filename` (default: running binary itself)]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_snapshots { - _arguments \ - '(-c --compact)'{-c,--compact}'[use compact output format]' \ - '(-g --group-by)'{-g,--group-by}'[string for grouping snapshots by host,paths,tags]:' \ - '(-h --help)'{-h,--help}'[help for snapshots]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this `host` (can be specified multiple times)]:' \ - '--last[only show the last snapshot for each host and path]' \ - '*--path[only consider snapshots for this `path` (can be specified multiple times)]:' \ - '--tag[only consider snapshots which include this `taglist` in the format `tag[,tag,...]` (can be specified multiple times)]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_stats { - _arguments \ - '(-h --help)'{-h,--help}'[help for stats]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots with the given `host` (can be specified multiple times)]:' \ - '--mode[counting mode: restore-size (default), files-by-contents, blobs-per-file or raw-data]:' \ - '*--path[only consider snapshots which include this (absolute) `path` (can be specified multiple times)]:' \ - '--tag[only consider snapshots which include this `taglist` in the format `tag[,tag,...]` (can be specified multiple times)]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_tag { - _arguments \ - '--add[`tags` which will be added to the existing tags in the format `tag[,tag,...]` (can be given multiple times)]:' \ - '(-h --help)'{-h,--help}'[help for tag]' \ - '(*-H *--host)'{\*-H,\*--host}'[only consider snapshots for this `host`, when no snapshot ID is given (can be specified multiple times)]:' \ - '*--path[only consider snapshots which include this (absolute) `path`, when no snapshot-ID is given]:' \ - '--remove[`tags` which will be removed from the existing tags in the format `tag[,tag,...]` (can be given multiple times)]:' \ - '--set[`tags` which will replace the existing tags in the format `tag[,tag,...]` (can be given multiple times)]:' \ - '--tag[only consider snapshots which include this `taglist`, when no snapshot-ID is given]:' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_unlock { - _arguments \ - '(-h --help)'{-h,--help}'[help for unlock]' \ - '--remove-all[remove all locks, even non-stale ones]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' -} - -function _restic_version { - _arguments \ - '(-h --help)'{-h,--help}'[help for version]' \ - '*--cacert[`file` to load root certificates from (default: use system certificates)]:' \ - '--cache-dir[set the cache `directory`. (default: use system default cache directory)]:' \ - '--cleanup-cache[auto remove old cache directories]' \ - '--json[set output mode to JSON for commands that support it]' \ - '--key-hint[`key` ID of key to try decrypting first (default: $RESTIC_KEY_HINT)]:' \ - '--limit-download[limits downloads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--limit-upload[limits uploads to a maximum rate in KiB/s. (default: unlimited)]:' \ - '--no-cache[do not use a local cache]' \ - '--no-lock[do not lock the repository, this allows some operations on read-only repositories]' \ - '(*-o *--option)'{\*-o,\*--option}'[set extended option (`key=value`, can be specified multiple times)]:' \ - '--password-command[shell `command` to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)]:' \ - '(-p --password-file)'{-p,--password-file}'[`file` to read the repository password from (default: $RESTIC_PASSWORD_FILE)]:' \ - '(-q --quiet)'{-q,--quiet}'[do not output comprehensive progress report]' \ - '(-r --repo)'{-r,--repo}'[`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)]:' \ - '--repository-file[`file` to read the repository location from (default: $RESTIC_REPOSITORY_FILE)]:' \ - '--tls-client-cert[path to a `file` containing PEM encoded TLS client certificate and private key]:' \ - '(-v --verbose)'{-v,--verbose}'[be verbose (specify multiple times or a level using --verbose=`n`, max level/times is 3)]' +_restic() +{ + local shellCompDirectiveError=1 + local shellCompDirectiveNoSpace=2 + local shellCompDirectiveNoFileComp=4 + local shellCompDirectiveFilterFileExt=8 + local shellCompDirectiveFilterDirs=16 + + local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace + local -a completions + + __restic_debug "\n========= starting completion logic ==========" + __restic_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" + + # The user could have moved the cursor backwards on the command-line. + # We need to trigger completion from the $CURRENT location, so we need + # to truncate the command-line ($words) up to the $CURRENT location. + # (We cannot use $CURSOR as its value does not work when a command is an alias.) + words=("${=words[1,CURRENT]}") + __restic_debug "Truncated words[*]: ${words[*]}," + + lastParam=${words[-1]} + lastChar=${lastParam[-1]} + __restic_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" + + # For zsh, when completing a flag with an = (e.g., restic -n=) + # completions must be prefixed with the flag + setopt local_options BASH_REMATCH + if [[ "${lastParam}" =~ '-.*=' ]]; then + # We are dealing with a flag with an = + flagPrefix="-P ${BASH_REMATCH}" + fi + + # Prepare the command to obtain completions + requestComp="${words[1]} __complete ${words[2,-1]}" + if [ "${lastChar}" = "" ]; then + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go completion code. + __restic_debug "Adding extra empty parameter" + requestComp="${requestComp} \"\"" + fi + + __restic_debug "About to call: eval ${requestComp}" + + # Use eval to handle any environment variables and such + out=$(eval ${requestComp} 2>/dev/null) + __restic_debug "completion output: ${out}" + + # Extract the directive integer following a : from the last line + local lastLine + while IFS='\n' read -r line; do + lastLine=${line} + done < <(printf "%s\n" "${out[@]}") + __restic_debug "last line: ${lastLine}" + + if [ "${lastLine[1]}" = : ]; then + directive=${lastLine[2,-1]} + # Remove the directive including the : and the newline + local suffix + (( suffix=${#lastLine}+2)) + out=${out[1,-$suffix]} + else + # There is no directive specified. Leave $out as is. + __restic_debug "No directive found. Setting do default" + directive=0 + fi + + __restic_debug "directive: ${directive}" + __restic_debug "completions: ${out}" + __restic_debug "flagPrefix: ${flagPrefix}" + + if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then + __restic_debug "Completion received error. Ignoring completions." + return + fi + + while IFS='\n' read -r comp; do + if [ -n "$comp" ]; then + # If requested, completions are returned with a description. + # The description is preceded by a TAB character. + # For zsh's _describe, we need to use a : instead of a TAB. + # We first need to escape any : as part of the completion itself. + comp=${comp//:/\\:} + + local tab=$(printf '\t') + comp=${comp//$tab/:} + + __restic_debug "Adding completion: ${comp}" + completions+=${comp} + lastComp=$comp + fi + done < <(printf "%s\n" "${out[@]}") + + if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then + __restic_debug "Activating nospace." + noSpace="-S ''" + fi + + if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then + # File extension filtering + local filteringCmd + filteringCmd='_files' + for filter in ${completions[@]}; do + if [ ${filter[1]} != '*' ]; then + # zsh requires a glob pattern to do file filtering + filter="\*.$filter" + fi + filteringCmd+=" -g $filter" + done + filteringCmd+=" ${flagPrefix}" + + __restic_debug "File filtering command: $filteringCmd" + _arguments '*:filename:'"$filteringCmd" + elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then + # File completion for directories only + local subDir + subdir="${completions[1]}" + if [ -n "$subdir" ]; then + __restic_debug "Listing directories in $subdir" + pushd "${subdir}" >/dev/null 2>&1 + else + __restic_debug "Listing directories in ." + fi + + local result + _arguments '*:dirname:_files -/'" ${flagPrefix}" + result=$? + if [ -n "$subdir" ]; then + popd >/dev/null 2>&1 + fi + return $result + else + __restic_debug "Calling _describe" + if eval _describe "completions" completions $flagPrefix $noSpace; then + __restic_debug "_describe found some completions" + + # Return the success of having called _describe + return 0 + else + __restic_debug "_describe did not find completions." + __restic_debug "Checking if we should do file completion." + if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then + __restic_debug "deactivating file completion" + + # We must return an error code here to let zsh know that there were no + # completions found by _describe; this is what will trigger other + # matching algorithms to attempt to find completions. + # For example zsh can match letters in the middle of words. + return 1 + else + # Perform file completion + __restic_debug "Activating file completion" + + # We must return the result of this command, so it must be the + # last command, or else we must store its result to return it. + _arguments '*:filename:_files'" ${flagPrefix}" + fi + fi + fi } +# don't run the completion function when being source-ed or eval-ed +if [ "$funcstack[1]" = "_restic" ]; then + _restic +fi