361 lines
13 KiB
Bash
361 lines
13 KiB
Bash
# Use of this file is deprecated. Upstream completion is available in
|
|
# subversion >= 0.12.0, use that instead.
|
|
|
|
# svn completion
|
|
|
|
have svn &&
|
|
{
|
|
_svn()
|
|
{
|
|
local cur prev commands options command
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur prev
|
|
|
|
commands='add blame praise annotate ann cat checkout co cleanup commit \
|
|
ci copy cp delete del remove rm diff di export help ? h import \
|
|
info list ls lock log merge mkdir move mv rename ren \
|
|
propdel pdel pd propedit pedit pe propget pget pg \
|
|
proplist plist pl propset pset ps resolved revert \
|
|
status stat st switch sw unlock update up'
|
|
|
|
if [[ $COMP_CWORD -eq 1 ]] ; then
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--version' -- $cur ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
fi
|
|
else
|
|
|
|
case $prev in
|
|
--config-dir)
|
|
_filedir -d
|
|
return 0
|
|
;;
|
|
-F|--file|--targets)
|
|
_filedir
|
|
return 0
|
|
;;
|
|
--encoding)
|
|
COMPREPLY=( $( compgen -W '$( iconv --list | \
|
|
sed -e "s@//@@;" )' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
--editor-cmd|--diff-cmd|--diff3-cmd)
|
|
COMP_WORDS=(COMP_WORDS[0] $cur)
|
|
COMP_CWORD=1
|
|
_command
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
command=${COMP_WORDS[1]}
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
# possible options for the command
|
|
case $command in
|
|
add)
|
|
options='--auto-props --no-auto-props --force --targets
|
|
--no-ignore --non-recursive -N -q --quiet'
|
|
;;
|
|
blame|annotate|ann|praise)
|
|
options='-r --revisions --username --password
|
|
--no-auth-cache --non-interactive -v --verbose
|
|
--incremental --xml'
|
|
;;
|
|
cat)
|
|
options='-r --revision --username --password
|
|
--no-auth-cache --non-interactive'
|
|
;;
|
|
checkout|co)
|
|
options='-r --revision -q --quiet -N --non-recursive
|
|
--username --password --no-auth-cache
|
|
--non-interactive --ignore-externals'
|
|
;;
|
|
cleanup)
|
|
options='--diff3-cmd'
|
|
;;
|
|
commit|ci)
|
|
options='-m --message -F --file --encoding --force-log -q
|
|
--quiet --non-recursive -N --targets --editor-cmd
|
|
--username --password --no-auth-cache
|
|
--non-interactive --no-unlock'
|
|
;;
|
|
copy|cp)
|
|
options='-m --message -F --file --encoding --force-log -r
|
|
--revision -q --quiet --editor-cmd -username
|
|
--password --no-auth-cache --non-interactive'
|
|
;;
|
|
delete|del|remove|rm)
|
|
options='--force -m --message -F --file --encoding
|
|
--force-log -q --quiet --targets --editor-cmd
|
|
--username --password --no-auth-cache
|
|
--non-interactive'
|
|
;;
|
|
diff|di)
|
|
options='-r --revision -x --extensions --diff-cmd
|
|
--no-diff-deleted -N --non-recursive --username
|
|
--password --no-auth-cache --non-interactive
|
|
--force --old --new --notice-ancestry'
|
|
;;
|
|
export)
|
|
options='-r --revision -q --quiet --username --password
|
|
--no-auth-cache --non-interactive -N
|
|
--non-recursive --force --native-eol
|
|
--ignore-externals'
|
|
;;
|
|
import)
|
|
options='--auto-props --no-auto-props -m --message -F
|
|
--file --encoding --force-log -q --quiet
|
|
--non-recursive --no-ignore --editor-cmd
|
|
--username --password --no-auth-cache
|
|
--non-interactive'
|
|
;;
|
|
info)
|
|
options='--username --password --no-auth-cache
|
|
--non-interactive -r --revision --xml --targets
|
|
-R --recursive --incremental'
|
|
;;
|
|
list|ls)
|
|
options='-r --revision -v --verbose -R --recursive
|
|
--username --password --no-auth-cache
|
|
--non-interactive --incremental --xml'
|
|
;;
|
|
lock)
|
|
options='-m --message -F --file --encoding --force-log
|
|
--targets --force --username --password
|
|
--no-auth-cache --non-interactive'
|
|
;;
|
|
log)
|
|
options='-r --revision -v --verbose --targets --username
|
|
--password --no-auth-cache --non-interactive
|
|
--stop-on-copy --incremental --xml -q --quiet
|
|
--limit'
|
|
;;
|
|
merge)
|
|
options='-r --revision -N --non-recursive -q --quiet
|
|
--force --dry-run --diff3-cmd --username
|
|
--password --no-auth-cache --non-interactive
|
|
--ignore-ancestry'
|
|
;;
|
|
mkdir)
|
|
options='-m --message -F --file --encoding --force-log -q
|
|
--quiet --editor-cmd --username --password
|
|
--no-auth-cache --non-interactive'
|
|
;;
|
|
move|mv|rename|ren)
|
|
options='-m --message -F --file --encoding --force-log -r
|
|
--revision -q --quiet --force --editor-cmd
|
|
--username --password --no-auth-cache
|
|
--non-interactive'
|
|
;;
|
|
propdel|pdel|pd)
|
|
options='-q --quiet -R --recursive -r --revision --revprop
|
|
--username --password --no-auth-cache
|
|
--non-interactive'
|
|
;;
|
|
propedit|pedit|pe)
|
|
options='-r --revision --revprop --encoding --editor-cmd
|
|
--username --password --no-auth-cache
|
|
--non-interactive --force'
|
|
;;
|
|
propget|pget|pg)
|
|
options='-R --recursive -r --revision --revprop --strict
|
|
--username --password --no-auth-cache
|
|
--non-interactive'
|
|
;;
|
|
proplist|plist|pl)
|
|
options='-v --verbose -R --recursive -r --revision
|
|
--revprop -q --quiet --username --password
|
|
--no-auth-cache --non-interactive'
|
|
;;
|
|
propset|pset|ps)
|
|
options='-F --file -q --quiet --targets -R --recursive
|
|
--revprop --encoding --username --password
|
|
--no-auth-cache --non-interactive -r --revision
|
|
--force'
|
|
;;
|
|
resolved)
|
|
options='--targets -R --recursive -q --quiet'
|
|
;;
|
|
revert)
|
|
options='--targets -R --recursive -q --quiet'
|
|
;;
|
|
status|stat|st)
|
|
options='-u --show-updates -v --verbose -N --non-recursive
|
|
-q --quiet --username --password --no-auth-cache
|
|
--non-interactive --no-ignore --ignore-externals
|
|
--incremental --xml'
|
|
;;
|
|
switch|sw)
|
|
options='--relocate -r --revision -N --non-recursive -q
|
|
--quiet --username --password --no-auth-cache
|
|
--non-interactive --diff3-cmd'
|
|
;;
|
|
unlock)
|
|
options='--targets --force --username --password
|
|
--no-auth-cache --non-interactive'
|
|
;;
|
|
update|up)
|
|
options='-r --revision -N --non-recursive -q --quiet
|
|
--username --password --no-auth-cache
|
|
--non-interactive --diff3-cmd --ignore-externals'
|
|
;;
|
|
esac
|
|
options="$options --help -h --config-dir"
|
|
|
|
COMPREPLY=( $( compgen -W "$options" -- $cur ) )
|
|
else
|
|
if [[ "$command" == @(help|h|\?) ]]; then
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
else
|
|
_filedir
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
return 0
|
|
} &&
|
|
complete -F _svn svn
|
|
|
|
_svnadmin()
|
|
{
|
|
local cur prev commands options mode
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur prev
|
|
|
|
commands='create deltify dump help ? hotcopy list-dblogs list-unused-dblogs
|
|
load lslocks lstxns recover rmlocks rmtxns setlog verify'
|
|
|
|
if [[ $COMP_CWORD -eq 1 ]] ; then
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--version' -- $cur ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
fi
|
|
else
|
|
case $prev in
|
|
--config-dir)
|
|
_filedir -d
|
|
return 0
|
|
;;
|
|
--fs-type)
|
|
COMPREPLY=( $( compgen -W 'fsfs bdb' -- $cur ) )
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
command=${COMP_WORDS[1]}
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
# possible options for the command
|
|
case $command in
|
|
create)
|
|
options='--bdb-txn-nosync --bdb-log-keep --config-dir
|
|
--fs-type'
|
|
;;
|
|
deltify)
|
|
options='-r --revision -q --quiet'
|
|
;;
|
|
dump)
|
|
options='-r --revision --incremental -q --quiet --deltas'
|
|
;;
|
|
hotcopy)
|
|
options='--clean-logs'
|
|
;;
|
|
load)
|
|
options='--ignore-uuid --force-uuid --parent-dir -q --quiet
|
|
--use-pre-commit-hook --use-post-commit-hook'
|
|
;;
|
|
rmtxns)
|
|
options='-q --quiet'
|
|
;;
|
|
setlog)
|
|
options='-r --revision --bypass-hooks'
|
|
;;
|
|
esac
|
|
|
|
options="$options --help -h"
|
|
COMPREPLY=( $( compgen -W "$options" -- $cur ) )
|
|
else
|
|
if [[ "$command" == @(help|h|\?) ]]; then
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
else
|
|
_filedir
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
return 0
|
|
} &&
|
|
complete -F _svnadmin -o default svnadmin
|
|
|
|
_svnlook()
|
|
{
|
|
local cur prev commands options mode
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur
|
|
|
|
commands='author cat changed date diff dirs-changed help ? h history info
|
|
lock log propget pget pg proplist plist pl tree uuid youngest'
|
|
|
|
if [[ $COMP_CWORD -eq 1 ]] ; then
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--version' -- $cur ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
fi
|
|
else
|
|
command=${COMP_WORDS[1]}
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
# possible options for the command
|
|
case $command in
|
|
author|cat|date|dirs-changed|info|log)
|
|
options='-r --revision -t --transaction'
|
|
;;
|
|
changed)
|
|
options='-r --revision -t --transaction --copy-info'
|
|
;;
|
|
diff)
|
|
options='-r --revision -t --transaction --no-diff-deleted
|
|
--no-diff-added --diff-copy-from'
|
|
;;
|
|
history)
|
|
options='-r --revision --show-ids'
|
|
;;
|
|
propget|proplist)
|
|
options='-r --revision -t --transaction --revprop'
|
|
;;
|
|
tree)
|
|
options='-r --revision -t --transaction --show-ids
|
|
--full-paths'
|
|
;;
|
|
esac
|
|
|
|
options="$options --help -h"
|
|
COMPREPLY=( $( compgen -W "$options" -- $cur ) )
|
|
else
|
|
if [[ "$command" == @(help|h|\?) ]]; then
|
|
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
|
|
else
|
|
_filedir
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
return 0
|
|
} &&
|
|
complete -F _svnlook -o default svnlook
|
|
}
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|