bash: add 'git svn' subcommands and options
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:

committed by
Shawn O. Pearce

parent
88b302f5e2
commit
47f6ee2838
@ -384,7 +384,6 @@ __git_commands ()
|
|||||||
show-index) : plumbing;;
|
show-index) : plumbing;;
|
||||||
ssh-*) : transport;;
|
ssh-*) : transport;;
|
||||||
stripspace) : plumbing;;
|
stripspace) : plumbing;;
|
||||||
svn) : import export;;
|
|
||||||
symbolic-ref) : plumbing;;
|
symbolic-ref) : plumbing;;
|
||||||
tar-tree) : deprecated;;
|
tar-tree) : deprecated;;
|
||||||
unpack-file) : plumbing;;
|
unpack-file) : plumbing;;
|
||||||
@ -1142,6 +1141,84 @@ _git_submodule ()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_git_svn ()
|
||||||
|
{
|
||||||
|
local subcommands="
|
||||||
|
init fetch clone rebase dcommit log find-rev
|
||||||
|
set-tree commit-diff info create-ignore propget
|
||||||
|
proplist show-ignore show-externals
|
||||||
|
"
|
||||||
|
local subcommand="$(__git_find_subcommand "$subcommands")"
|
||||||
|
if [ -z "$subcommand" ]; then
|
||||||
|
__gitcomp "$subcommands"
|
||||||
|
else
|
||||||
|
local remote_opts="--username= --config-dir= --no-auth-cache"
|
||||||
|
local fc_opts="
|
||||||
|
--follow-parent --authors-file= --repack=
|
||||||
|
--no-metadata --use-svm-props --use-svnsync-props
|
||||||
|
--log-window-size= --no-checkout --quiet
|
||||||
|
--repack-flags --user-log-author $remote_opts
|
||||||
|
"
|
||||||
|
local init_opts="
|
||||||
|
--template= --shared= --trunk= --tags=
|
||||||
|
--branches= --stdlayout --minimize-url
|
||||||
|
--no-metadata --use-svm-props --use-svnsync-props
|
||||||
|
--rewrite-root= $remote_opts
|
||||||
|
"
|
||||||
|
local cmt_opts="
|
||||||
|
--edit --rmdir --find-copies-harder --copy-similarity=
|
||||||
|
"
|
||||||
|
|
||||||
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
case "$subcommand,$cur" in
|
||||||
|
fetch,--*)
|
||||||
|
__gitcomp "--revision= --fetch-all $fc_opts"
|
||||||
|
;;
|
||||||
|
clone,--*)
|
||||||
|
__gitcomp "--revision= $fc_opts $init_opts"
|
||||||
|
;;
|
||||||
|
init,--*)
|
||||||
|
__gitcomp "$init_opts"
|
||||||
|
;;
|
||||||
|
dcommit,--*)
|
||||||
|
__gitcomp "
|
||||||
|
--merge --strategy= --verbose --dry-run
|
||||||
|
--fetch-all --no-rebase $cmt_opts $fc_opts
|
||||||
|
"
|
||||||
|
;;
|
||||||
|
set-tree,--*)
|
||||||
|
__gitcomp "--stdin $cmt_opts $fc_opts"
|
||||||
|
;;
|
||||||
|
create-ignore,--*|propget,--*|proplist,--*|show-ignore,--*|\
|
||||||
|
show-externals,--*)
|
||||||
|
__gitcomp "--revision="
|
||||||
|
;;
|
||||||
|
log,--*)
|
||||||
|
__gitcomp "
|
||||||
|
--limit= --revision= --verbose --incremental
|
||||||
|
--oneline --show-commit --non-recursive
|
||||||
|
--authors-file=
|
||||||
|
"
|
||||||
|
;;
|
||||||
|
rebase,--*)
|
||||||
|
__gitcomp "
|
||||||
|
--merge --verbose --strategy= --local
|
||||||
|
--fetch-all $fc_opts
|
||||||
|
"
|
||||||
|
;;
|
||||||
|
commit-diff,--*)
|
||||||
|
__gitcomp "--message= --file= --revision= $cmt_opts"
|
||||||
|
;;
|
||||||
|
info,--*)
|
||||||
|
__gitcomp "--url"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
COMPREPLY=()
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
_git_tag ()
|
_git_tag ()
|
||||||
{
|
{
|
||||||
local i c=1 f=0
|
local i c=1 f=0
|
||||||
@ -1243,6 +1320,7 @@ _git ()
|
|||||||
show-branch) _git_log ;;
|
show-branch) _git_log ;;
|
||||||
stash) _git_stash ;;
|
stash) _git_stash ;;
|
||||||
submodule) _git_submodule ;;
|
submodule) _git_submodule ;;
|
||||||
|
svn) _git_svn ;;
|
||||||
tag) _git_tag ;;
|
tag) _git_tag ;;
|
||||||
whatchanged) _git_log ;;
|
whatchanged) _git_log ;;
|
||||||
*) COMPREPLY=() ;;
|
*) COMPREPLY=() ;;
|
||||||
@ -1293,6 +1371,7 @@ complete -o default -o nospace -F _git_shortlog git-shortlog
|
|||||||
complete -o default -o nospace -F _git_show git-show
|
complete -o default -o nospace -F _git_show git-show
|
||||||
complete -o default -o nospace -F _git_stash git-stash
|
complete -o default -o nospace -F _git_stash git-stash
|
||||||
complete -o default -o nospace -F _git_submodule git-submodule
|
complete -o default -o nospace -F _git_submodule git-submodule
|
||||||
|
complete -o default -o nospace -F _git_svn git-svn
|
||||||
complete -o default -o nospace -F _git_log git-show-branch
|
complete -o default -o nospace -F _git_log git-show-branch
|
||||||
complete -o default -o nospace -F _git_tag git-tag
|
complete -o default -o nospace -F _git_tag git-tag
|
||||||
complete -o default -o nospace -F _git_log git-whatchanged
|
complete -o default -o nospace -F _git_log git-whatchanged
|
||||||
|
Reference in New Issue
Block a user