|
|
|
@ -36,6 +36,7 @@ _git-flow () |
|
|
|
subcommands=( |
|
|
|
subcommands=( |
|
|
|
'init:Initialize a new git repo with support for the branching model.' |
|
|
|
'init:Initialize a new git repo with support for the branching model.' |
|
|
|
'feature:Manage your feature branches.' |
|
|
|
'feature:Manage your feature branches.' |
|
|
|
|
|
|
|
'bugfix:Manage your bugfix branches.' |
|
|
|
'config:Manage your configuration.' |
|
|
|
'config:Manage your configuration.' |
|
|
|
'release:Manage your release branches.' |
|
|
|
'release:Manage your release branches.' |
|
|
|
'hotfix:Manage your hotfix branches.' |
|
|
|
'hotfix:Manage your hotfix branches.' |
|
|
|
@ -44,6 +45,7 @@ _git-flow () |
|
|
|
'finish:Finish the branch you are currently on.' |
|
|
|
'finish:Finish the branch you are currently on.' |
|
|
|
'delete:Delete the branch you are currently on.' |
|
|
|
'delete:Delete the branch you are currently on.' |
|
|
|
'publish:Publish the branch you are currently on.' |
|
|
|
'publish:Publish the branch you are currently on.' |
|
|
|
|
|
|
|
'rebase:Rebase the branch you are currently on.' |
|
|
|
) |
|
|
|
) |
|
|
|
_describe -t commands 'git flow' subcommands |
|
|
|
_describe -t commands 'git flow' subcommands |
|
|
|
;; |
|
|
|
;; |
|
|
|
@ -70,6 +72,10 @@ _git-flow () |
|
|
|
(feature) |
|
|
|
(feature) |
|
|
|
__git-flow-feature |
|
|
|
__git-flow-feature |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
(bugfix) |
|
|
|
|
|
|
|
__git-flow-bugfix |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
(config) |
|
|
|
(config) |
|
|
|
__git-flow-config |
|
|
|
__git-flow-config |
|
|
|
;; |
|
|
|
;; |
|
|
|
@ -98,6 +104,7 @@ __git-flow-release () |
|
|
|
'list:List all your release branches. (Alias to `git flow release`)' |
|
|
|
'list:List all your release branches. (Alias to `git flow release`)' |
|
|
|
'publish:Publish release branch to remote.' |
|
|
|
'publish:Publish release branch to remote.' |
|
|
|
'track:Checkout remote release branch.' |
|
|
|
'track:Checkout remote release branch.' |
|
|
|
|
|
|
|
'rebase:Rebase from integration branch.' |
|
|
|
'delete:Delete a release branch.' |
|
|
|
'delete:Delete a release branch.' |
|
|
|
) |
|
|
|
) |
|
|
|
_describe -t commands 'git flow release' subcommands |
|
|
|
_describe -t commands 'git flow release' subcommands |
|
|
|
@ -141,6 +148,12 @@ __git-flow-release () |
|
|
|
':version:__git_flow_version_list' |
|
|
|
':version:__git_flow_version_list' |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(rebase) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-i'[Do an interactive rebase]' \ |
|
|
|
|
|
|
|
':branch:__git_branch_names' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
*) |
|
|
|
*) |
|
|
|
_arguments \ |
|
|
|
_arguments \ |
|
|
|
-v'[Verbose (more) output]' |
|
|
|
-v'[Verbose (more) output]' |
|
|
|
@ -167,7 +180,9 @@ __git-flow-hotfix () |
|
|
|
'start:Start a new hotfix branch.' |
|
|
|
'start:Start a new hotfix branch.' |
|
|
|
'finish:Finish a hotfix branch.' |
|
|
|
'finish:Finish a hotfix branch.' |
|
|
|
'delete:Delete a hotfix branch.' |
|
|
|
'delete:Delete a hotfix branch.' |
|
|
|
|
|
|
|
'rebase:Rebase from integration branch.' |
|
|
|
'list:List all your hotfix branches. (Alias to `git flow hotfix`)' |
|
|
|
'list:List all your hotfix branches. (Alias to `git flow hotfix`)' |
|
|
|
|
|
|
|
'rename:Rename a hotfix branch.' |
|
|
|
) |
|
|
|
) |
|
|
|
_describe -t commands 'git flow hotfix' subcommands |
|
|
|
_describe -t commands 'git flow hotfix' subcommands |
|
|
|
_arguments \ |
|
|
|
_arguments \ |
|
|
|
@ -201,6 +216,12 @@ __git-flow-hotfix () |
|
|
|
':hotfix:__git_flow_hotfix_list' |
|
|
|
':hotfix:__git_flow_hotfix_list' |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(rebase) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-i'[Do an interactive rebase]' \ |
|
|
|
|
|
|
|
':branch:__git_branch_names' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
*) |
|
|
|
*) |
|
|
|
_arguments \ |
|
|
|
_arguments \ |
|
|
|
-v'[Verbose (more) output]' |
|
|
|
-v'[Verbose (more) output]' |
|
|
|
@ -234,6 +255,7 @@ __git-flow-feature () |
|
|
|
'rebase:Rebase from integration branch.' |
|
|
|
'rebase:Rebase from integration branch.' |
|
|
|
'checkout:Checkout local feature branch.' |
|
|
|
'checkout:Checkout local feature branch.' |
|
|
|
'pull:Pull changes from remote.' |
|
|
|
'pull:Pull changes from remote.' |
|
|
|
|
|
|
|
'rename:Rename a feature branch.' |
|
|
|
) |
|
|
|
) |
|
|
|
_describe -t commands 'git flow feature' subcommands |
|
|
|
_describe -t commands 'git flow feature' subcommands |
|
|
|
_arguments \ |
|
|
|
_arguments \ |
|
|
|
@ -305,6 +327,102 @@ __git-flow-feature () |
|
|
|
esac |
|
|
|
esac |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__git-flow-bugfix () |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
local curcontext="$curcontext" state line |
|
|
|
|
|
|
|
typeset -A opt_args |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_arguments -C \ |
|
|
|
|
|
|
|
':command:->command' \ |
|
|
|
|
|
|
|
'*::options:->options' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
|
|
|
(command) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local -a subcommands |
|
|
|
|
|
|
|
subcommands=( |
|
|
|
|
|
|
|
'start:Start a new bugfix branch.' |
|
|
|
|
|
|
|
'finish:Finish a bugfix branch.' |
|
|
|
|
|
|
|
'delete:Delete a bugfix branch.' |
|
|
|
|
|
|
|
'list:List all your bugfix branches. (Alias to `git flow bugfix`)' |
|
|
|
|
|
|
|
'publish:Publish bugfix branch to remote.' |
|
|
|
|
|
|
|
'track:Checkout remote bugfix branch.' |
|
|
|
|
|
|
|
'diff:Show all changes.' |
|
|
|
|
|
|
|
'rebase:Rebase from integration branch.' |
|
|
|
|
|
|
|
'checkout:Checkout local bugfix branch.' |
|
|
|
|
|
|
|
'pull:Pull changes from remote.' |
|
|
|
|
|
|
|
'rename:Rename a bugfix branch.' |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
_describe -t commands 'git flow bugfix' subcommands |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-v'[Verbose (more) output]' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
|
|
|
case $line[1] in |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(start) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-F'[Fetch from origin before performing finish]'\ |
|
|
|
|
|
|
|
':bugfix:__git_flow_bugfix_list'\ |
|
|
|
|
|
|
|
':branch-name:__git_branch_names' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(finish) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-F'[Fetch from origin before performing finish]' \ |
|
|
|
|
|
|
|
-r'[Rebase instead of merge]'\ |
|
|
|
|
|
|
|
':bugfix:__git_flow_bugfix_list' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(delete) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-f'[Force deletion]' \ |
|
|
|
|
|
|
|
-r'[Delete remote branch]' \ |
|
|
|
|
|
|
|
':bugfix:__git_flow_bugfix_list' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(publish) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
':bugfix:__git_flow_bugfix_list'\ |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(track) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
':bugfix:__git_flow_bugfix_list'\ |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(diff) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
':branch:__git_branch_names'\ |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(rebase) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-i'[Do an interactive rebase]' \ |
|
|
|
|
|
|
|
':branch:__git_branch_names' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(checkout) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
':branch:__git_flow_bugfix_list'\ |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(pull) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
':remote:__git_remotes'\ |
|
|
|
|
|
|
|
':branch:__git_branch_names' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*) |
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
|
|
|
-v'[Verbose (more) output]' |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
__git-flow-config () |
|
|
|
__git-flow-config () |
|
|
|
{ |
|
|
|
{ |
|
|
|
local curcontext="$curcontext" state line |
|
|
|
local curcontext="$curcontext" state line |
|
|
|
@ -370,6 +488,17 @@ __git_flow_feature_list () |
|
|
|
_wanted features expl 'feature' compadd $features |
|
|
|
_wanted features expl 'feature' compadd $features |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__git_flow_bugfix_list () |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
local expl |
|
|
|
|
|
|
|
declare -a bugfixes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bugfixes=(${${(f)"$(_call_program bugfixes git flow bugfix list 2> /dev/null | tr -d ' |*')"}}) |
|
|
|
|
|
|
|
__git_command_successful || return |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_wanted bugfixes expl 'bugfix' compadd $bugfixes |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
__git_remotes () { |
|
|
|
__git_remotes () { |
|
|
|
local expl gitdir remotes |
|
|
|
local expl gitdir remotes |
|
|
|
|
|
|
|
|
|
|
|
|