summaryrefslogtreecommitdiff
path: root/debian/bash_completion/contrib/svk
diff options
context:
space:
mode:
Diffstat (limited to 'debian/bash_completion/contrib/svk')
-rw-r--r--debian/bash_completion/contrib/svk262
1 files changed, 262 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/svk b/debian/bash_completion/contrib/svk
new file mode 100644
index 0000000..70cd81f
--- /dev/null
+++ b/debian/bash_completion/contrib/svk
@@ -0,0 +1,262 @@
+# svk completion by Guillaume Rousse <guillomovitch@zarb.org>
+#
+# $Id: svk,v 1.1 2006/03/01 10:45:03 ianmacd Exp $
+
+_svk()
+{
+ local cur prev commands options command
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ commands='add admin annotate ann blame praise cat checkout co cleanup \
+ cmerge cm commit ci copy cp delete del remove rm depotmap \
+ depot describe desc diff di help h ? import info list ls log \
+ merge mirror mi mkdir move mv ren rename patch propdel pd pdel \
+ propedit pe pedit propget pg pget proplist pl plist propset ps \
+ pset pull push resolved revert smerge sm status st stat switch \
+ sw sync sy update up verify'
+
+ if [[ $COMP_CWORD -eq 1 ]] ; then
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '--version' -- $cur ) )
+ else
+ COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
+ fi
+ else
+
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ case $prev in
+ -@(F|-file|-targets))
+ _filedir
+ return 0;
+ ;;
+ --encoding)
+ COMPREPLY=( $( compgen -W \
+ '$( iconv --list | sed -e "s@//@@;" )' \
+ -- "$cur" ) )
+ return 0;
+ ;;
+ esac
+
+ command=${COMP_WORDS[1]}
+
+ if [[ "$cur" == -* ]]; then
+ # possible options for the command
+ case $command in
+ add)
+ options=' --non-recursive -N -q --quiet'
+ ;;
+ @(blame|annotate|ann|praise))
+ options='-r --revisions -x --cross'
+ ;;
+ cat)
+ options='-r --revision'
+ ;;
+ @(checkout|co))
+ options='-r --revision -q --quiet -N \
+ --non-recursive -l --list -d \
+ --detach --export --relocate \
+ --purge'
+ ;;
+ cleanup)
+ options='-a --all'
+ ;;
+ @(cmerge|cm))
+ options='-c --change -l --log -r \
+ --revision -a --auto \
+ --verbatim --no-ticket -m \
+ --message -F --file --template \ --encoding -P --patch -S \
+ --sign -C --check-only --direct'
+ ;;
+ @(commit|ci))
+ options='--import -m --message -F \
+ --file --encoding --template \
+ -P --patch -S --sign -C \
+ --check-only -N \
+ --non-recursive --direct'
+ ;;
+ @(copy|cp))
+ options='-r --revision -p --parent -q \
+ --quiet -m --message -F --file \
+ --template --encoding -P \
+ --patch -S --sign -C \
+ --check-only --direct'
+ ;;
+ @(delete|del|remove|rm))
+ options='-k --keep-local -m --message \
+ -F --file --encoding \
+ --template -P --patch -S \
+ --sign -C --check-only --direct'
+ ;;
+ @(depotmap|depot))
+ options='-i --init -l --list -d \
+ --detach --relocate'
+ ;;
+ @(diff|di))
+ options='-r --revision -s --summarize \
+ -b --verbose -N --non-recursive'
+ ;;
+ import)
+ options='-f --from-checkout -t \
+ --to-checkout -m --message -F \
+ --file --template --encoding \
+ -P --patch -S --sign -C \
+ --check-only -N \
+ --non-recursive --direct'
+ ;;
+ @(list|ls))
+ options='-r --revision -v --verbose -R \
+ --recursive -d --depth -f \
+ --full-path'
+ ;;
+ log)
+ options='-r --revision -l --limit -q \
+ --quiet -x --cross -v --verbose'
+ ;;
+ merge)
+ options='-r --revision -c --change -I \
+ --incremental -a --auto -l \
+ --log -s --sync -t --to -f \
+ --from --verbatim --no-ticket \
+ --track-rename -m --message \
+ -F --file --template \
+ --encoding -P --patch -S \
+ --sign -C --check-only --direct'
+ ;;
+ @(mirror|mi))
+ options='-l --list -d --detach \
+ --relocate --recover --unlock \
+ --upgrade'
+ ;;
+ mkdir)
+ options='-p --parent -m --message -F \
+ --file --template --encoding \
+ -P --patch -S --sign -C \
+ --check-only --direct'
+ ;;
+ @(move|mv|rename|ren))
+ options='-r --revision -p --parent -q \
+ --quiet -m --message -F --file \
+ --encoding --template -P \
+ --patch -S --sign -C \
+ --check-only --direct'
+ ;;
+ patch)
+ options='--depot'
+ ;;
+ @(propdel|propset|pdel|pset|pd|ps))
+ options='-R --recursive -r --revision \
+ --revprop -m --message -F \
+ --file --template --encoding \
+ -P --patch -S --sign -C \
+ --check-only -q --quiet \
+ --direct'
+ ;;
+ @(propedit|pedit|pe))
+ options='-R --recursive -r --revision \
+ --revprop -m --message -F \
+ --file --template --encoding \
+ -P --patch -S --sign -C \
+ --check-only --direct'
+ ;;
+ @(propget|pget|pg))
+ options='-R --recursive -r --revision \
+ --revprop --strict'
+ ;;
+ @(proplist|plist|pl))
+ options='-R --recursive -v --verbose \
+ -r --revision --revprop'
+ ;;
+ pull)
+ options='-a --all -l --lump'
+ ;;
+ push)
+ options='-f --from -l --lump -C \
+ --check -P --patch -S --sign \
+ --verbatim'
+ ;;
+ resolved)
+ options='-R --recursive'
+ ;;
+ revert)
+ options='-R --recursive -q --quiet'
+ ;;
+ @(smerge|sm))
+ options='-I --incremental -l --log -B \
+ --baseless -b --base -s --sync \
+ -t --to -f --from --verbatim \
+ --no-ticket --track-rename \
+ --host --remoterev -m \
+ --message -F --file --template \
+ --encoding -P --patch -S \
+ --sign -C --check-only --direct'
+ ;;
+ @(status|stat|st))
+ options='-q --quiet --no-ignore -N \
+ --non-recursive -v --verbose'
+ ;;
+ @(switch|sw))
+ options='-r --revision -d --detach -q \
+ --quiet'
+ ;;
+ @(sync|sy))
+ options='-a --all -s --skipto -t \
+ --torev'
+ ;;
+ @(update|up))
+ options='-r --revision -N \
+ --non-recursive -C \
+ --check-only -s --sync -m \
+ --merge -q --quiet'
+ ;;
+ esac
+ options="$options --help -h"
+
+ COMPREPLY=( $( compgen -W "$options" -- $cur ) )
+ else
+ case $command in
+ @(help|h|\?))
+ COMPREPLY=( $( compgen -W "$commands \
+ environment commands intro" -- $cur ) )
+ ;;
+ admin)
+ COMPREPLY=( $( compgen -W 'help \
+ deltify dump hotcopy \
+ list-dblogs list-unused-dblogs \
+ load lstxns recover rmtxns \
+ setlog verify rmcache' \
+ -- $cur ) )
+ ;;
+ patch)
+ COMPREPLY=( $( compgen -W '--ls --list \
+ --cat --view --regen \
+ --regenerate --up --update \
+ --apply --rm --delete' \
+ -- $cur ) )
+ ;;
+ sync)
+ COMPREPLY=( $( compgen -W "$( svk \
+ mirror --list 2>/dev/null | \
+ awk '/^\//{print $1}' )" \
+ -- $cur ) )
+ ;;
+ @(co|checkout|push|pull))
+ if [[ "$cur" == //*/* ]]; then
+ path=${cur%/*}/
+ else
+ path=//
+ fi
+ COMPREPLY=( $( compgen -W "$( svk \
+ list $path 2>/dev/null | sed -e 's|\(.*\)|'$path'\1|')" -- $cur ) )
+ ;;
+ *)
+ _filedir
+ ;;
+ esac
+ fi
+ fi
+
+ return 0
+}
+complete -F _svk -o default svk