git-for-windows / git

A fork of Git containing Windows-specific patches.
http://gitforwindows.org/
Other
8.38k stars 2.54k forks source link

Git-flow Extremely slow #2498

Closed angelodiego closed 3 years ago

angelodiego commented 4 years ago

Setup

$ git --version --build-options

git version 2.25.0.windows.1
cpu: x86_64
built from commit: 7c71c859c97853ed057da5cbab12f3c13b5554df
sizeof-long: 4
sizeof-size_t: 8

 - Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?

$ cmd.exe /c ver

Microsoft Windows [version 10.0.18362.592] (c) 2019 Microsoft Corporation. Tous droits r▒serv▒s.

# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt

Editor Option: VisualStudioCode
Custom Editor Path:
Path Option: Cmd
SSH Option: OpenSSH
Tortoise Option: false
CURL Option: WinSSL
CRLF Option: CRLFCommitAsIs
Bash Terminal Option: MinTTY
Performance Tweaks FSCache: Enabled
Use Credential Manager: Enabled
Enable Symlinks: Enabled

 - Any other interesting things about your environment that might be related
   to the issue you're seeing?

F-secure installed but added c:\program files\git  to ignore list 

 - Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

Bash

 - What commands did you run to trigger this issue? If you can provide a
   [Minimal, Complete, and Verifiable example](http://stackoverflow.com/help/mcve)
   this will help us understand the issue.

`
git flow hotfix start testhotfixbranch master
modified and commited pre existing file (just added the text "test" to a 10 lines file)
git flow hotfix finish -n testhotfixbranch

git flow to run almost immediately, there is no difference between the develop and master branch

it took more than 20 seconds to finish

any repo will show the problem

It looks like that the setup takes almost 20 secs and a couple of seconds are actually spent doing the branch merges (starting from git checkout master)


$ DEBUG=yes git flow hotfix finish -n testbranch
+ case $(uname -s) in
++ uname -s
+++ echo 'C:\Program Files\Git\usr\bin\git-flow'
+++ sed -e 's,\\,/,g'
++ dirname 'C:/Program Files/Git/usr/bin/git-flow'
+ export 'GITFLOW_DIR=C:/Program Files/Git/usr/bin'
+ GITFLOW_DIR='C:/Program Files/Git/usr/bin'
+ '[' -f /c/Users/testUser/.gitflow_export ']'
+ main hotfix finish -n testbranch
+ '[' 4 -lt 1 ']'
+ . 'C:/Program Files/Git/usr/bin/gitflow-shFlags'
++ '[' -n '' ']'
++ FLAGS_VERSION=1.0.4pre
++ FLAGS_TRUE=0
++ FLAGS_FALSE=1
++ FLAGS_ERROR=2
+++ uname -s
++ __FLAGS_UNAME_S=MINGW64_NT-10.0-18362
++ case "${__FLAGS_UNAME_S}" in
++ __FLAGS_EXPR_CMD=expr
++ FLAGS_EXPR_CMD=expr
++ FLAGS_GETOPT_CMD=getopt
++ '[' -n '' ']'
++ '[' 0 -eq 0 ']'
++ __FLAGS_USE_BUILTIN=0
++ __FLAGS_RESERVED_LIST=' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE '
++ __FLAGS_RESERVED_LIST=' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
++ __FLAGS_GETOPT_VERS_STD=0
++ __FLAGS_GETOPT_VERS_ENH=1
++ __FLAGS_GETOPT_VERS_BSD=2
++ getopt
++ case $? in
+++ getopt --version
++ '[' 'getopt from util-linux 2.34' = '-- ' ']'
++ __FLAGS_GETOPT_VERS=1
++ __FLAGS_OPTSTR_SHORT=0
++ __FLAGS_OPTSTR_LONG=1
++ __FLAGS_NULL='~'
++ __FLAGS_INFO_DEFAULT=default
++ __FLAGS_INFO_HELP=help
++ __FLAGS_INFO_SHORT=short
++ __FLAGS_INFO_TYPE=type
++ __FLAGS_LEN_SHORT=0
++ __FLAGS_LEN_LONG=1
++ __FLAGS_TYPE_NONE=0
++ __FLAGS_TYPE_BOOLEAN=1
++ __FLAGS_TYPE_FLOAT=2
++ __FLAGS_TYPE_INTEGER=3
++ __FLAGS_TYPE_STRING=4
+++ set
+++ awk -F= '/^FLAGS_/ || /^__FLAGS_/ {print $1}'
++ __flags_constants='FLAGS_ERROR
FLAGS_EXPR_CMD
FLAGS_FALSE
FLAGS_GETOPT_CMD
FLAGS_TRUE
FLAGS_VERSION
__FLAGS_EXPR_CMD
__FLAGS_GETOPT_VERS
__FLAGS_GETOPT_VERS_BSD
__FLAGS_GETOPT_VERS_ENH
__FLAGS_GETOPT_VERS_STD
__FLAGS_INFO_DEFAULT
__FLAGS_INFO_HELP
__FLAGS_INFO_SHORT
__FLAGS_INFO_TYPE
__FLAGS_LEN_LONG
__FLAGS_LEN_SHORT
__FLAGS_NULL
__FLAGS_OPTSTR_LONG
__FLAGS_OPTSTR_SHORT
__FLAGS_RESERVED_LIST
__FLAGS_TYPE_BOOLEAN
__FLAGS_TYPE_FLOAT
__FLAGS_TYPE_INTEGER
__FLAGS_TYPE_NONE
__FLAGS_TYPE_STRING
__FLAGS_UNAME_S
__FLAGS_USE_BUILTIN'
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_ERROR
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_EXPR_CMD
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_FALSE
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_GETOPT_CMD
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_TRUE
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly FLAGS_VERSION
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_EXPR_CMD
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_GETOPT_VERS
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_GETOPT_VERS_BSD
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_GETOPT_VERS_ENH
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_GETOPT_VERS_STD
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_INFO_DEFAULT
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_INFO_HELP
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_INFO_SHORT
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_INFO_TYPE
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_LEN_LONG
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_LEN_SHORT
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_NULL
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_OPTSTR_LONG
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_OPTSTR_SHORT
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_RESERVED_LIST
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_TYPE_BOOLEAN
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_TYPE_FLOAT
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_TYPE_INTEGER
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_TYPE_NONE
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_TYPE_STRING
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_UNAME_S
++ for __flags_const in ${__flags_constants}
++ case ${__flags_const} in
++ '[' -z '' ']'
++ readonly __FLAGS_USE_BUILTIN
++ unset __flags_const __flags_constants
++ __flags_boolNames=' '
++ __flags_longNames=' '
++ __flags_shortNames=' '
++ __flags_definedNames=' '
++ __flags_nonegateNames=' '
++ __flags_columns=
++ __flags_opts=
+ FLAGS_PARENT='git flow'
+ . 'C:/Program Files/Git/usr/bin/gitflow-common'
+ DEFINE_boolean showcommands false 'Show actions taken (git commands)'
+ _flags_define 1 showcommands false 'Show actions taken (git commands)'
+ '[' 4 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=showcommands
+ _flags_default_=false
+ _flags_help_='Show actions taken (git commands)'
+ _flags_short_='~'
+ _flags_return_=0
++ _flags_removeExclamationName showcommands
++ _flags_opt_=showcommands
++ _flags_isNegate showcommands
++ case $1 in
++ flags_return=0
++ return 0
++ echo showcommands
++ unset _flags_opt_
++ return 0
+ _flags_usName_=showcommands
++ _flags_underscoreName showcommands
++ echo showcommands
++ tr - _
+ _flags_usName_=showcommands
+ _flags_itemInList showcommands ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=showcommands
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a '~' = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList showcommands
+ _flags_str_=showcommands
+ shift
+ _flags_list_='  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a '~' '!=' '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate showcommands
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_showcommands='\''1'\'''
++ FLAGS_showcommands=1
+ eval __flags_showcommands_type=1
++ __flags_showcommands_type=1
+ eval '__flags_showcommands_default="1"'
++ __flags_showcommands_default=1
+ eval '__flags_showcommands_help="Show actions taken (git commands)"'
++ __flags_showcommands_help='Show actions taken (git commands)'
+ eval '__flags_showcommands_short='\''~'\'''
++ __flags_showcommands_short='~'
+ __flags_shortNames=' ~ '
++ _flags_removeExclamationName showcommands
++ _flags_opt_=showcommands
++ _flags_isNegate showcommands
++ case $1 in
++ flags_return=0
++ return 0
++ echo showcommands
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands '
+ __flags_definedNames=' showcommands '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands '
+ __flags_definedNames=' showcommands noshowcommands showcommands '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ gitflow_override_flag_boolean showcommands showcommands
+ local _variable
++ git config --bool --get gitflow.showcommands
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ SUBCOMMAND=hotfix
+ shift
+ '[' hotfix = finish ']'
+ '[' hotfix = delete ']'
+ '[' hotfix = publish ']'
+ '[' hotfix = rebase ']'
+ '[' '!' -e 'C:/Program Files/Git/usr/bin/git-flow-hotfix' ']'
+ . 'C:/Program Files/Git/usr/bin/git-flow-hotfix'
+ FLAGS_PARENT='git flow hotfix'
+ '[' -z '' ']'
+ startswith finish -
+ '[' finish '!=' finish ']'
+ '[' -z finish ']'
+ SUBACTION=finish
+ shift
++ contains finish _
++ local return
++ case $1 in
++ return=1
++ return 1
++ echo finish
++ tr - _
+ SUBACTION=finish
+ type cmd_finish
+ '[' finish '!=' help ']'
+ '[' hotfix '!=' init ']'
+ initialize
+ require_git_repo
+ git rev-parse
+ require_gitflow_initialized
+ gitflow_is_initialized
+ gitflow_has_master_configured
+ local master
++ git config --get gitflow.branch.master
+ master=master
+ '[' master '!=' '' ']'
+ git_local_branch_exists master
+ '[' -n master ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/master
+ '[' -n master ']'
+ gitflow_has_develop_configured
+ local develop
++ git config --get gitflow.branch.develop
+ develop=develop
+ '[' develop '!=' '' ']'
+ git_local_branch_exists develop
+ '[' -n develop ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/develop
+ '[' -n develop ']'
++ git config --get gitflow.branch.master
++ git config --get gitflow.branch.develop
+ '[' master '!=' develop ']'
+ git config --get-regexp gitflow.prefix
++ git config --get gitflow.prefix.versiontag
+ git config --get gitflow.prefix.hotfix
+ gitflow_load_settings
++ git rev-parse --show-toplevel
+ export GIT_CURRENT_REPO_DIR=C:/Projets/TestProject
+ GIT_CURRENT_REPO_DIR=C:/Projets/TestProject
++ git rev-parse --git-dir
+ DOT_GIT_DIR=.git
++ cd .git
++ pwd
++ builtin pwd -W
+ export DOT_GIT_DIR=C:/Projets/TestProject/.git
+ DOT_GIT_DIR=C:/Projets/TestProject/.git
++ git config --get gitflow.path.hooks
+ export HOOKS_DIR=C:/Projets/TestProject/.git/hooks
+ HOOKS_DIR=C:/Projets/TestProject/.git/hooks
++ git config --get gitflow.branch.master
+ export MASTER_BRANCH=master
+ MASTER_BRANCH=master
++ git config --get gitflow.branch.develop
+ export DEVELOP_BRANCH=develop
+ DEVELOP_BRANCH=develop
++ git config --get gitflow.origin
++ echo origin
+ export ORIGIN=origin
+ ORIGIN=origin
+ GITFLOW_CONFIG=C:/Projets/TestProject/.git/gitflow_config
+ '[' -f C:/Projets/TestProject/.git/gitflow_config ']'
++ git config --get gitflow.prefix.versiontag
+ VERSION_PREFIX=
++ git config --get gitflow.prefix.hotfix
+ PREFIX=hotfix/
+ '[' finish '!=' default ']'
+ FLAGS_PARENT='git flow hotfix finish'
+ cmd_finish -n testbranch ''
+ OPTIONS_SPEC='git flow hotfix finish [-h] [-F] [-s] [-u] [-m | -f ] [-p] [-k] [-n] [-b] [-S] <version>

Finish hotfix branch <version>
--
h,help!               Show this help
showcommands!         Show git commands while executing them
F,[no]fetch           Fetch from origin before performing finish
s,[no]sign            Sign the release tag cryptographically
u,[no]signingkey      Use the given GPG-key for the digital signature (implies -s)
m,[no]message         Use the given tag message
f,[no]messagefile=    Use the contents of the given file as tag message
p,[no]push            Push to origin after performing finish
k,[no]keep            Keep branch after performing finish
[no]keepremote        Keep the remote branch
[no]keeplocal         Keep the local branch
D,[no]force_delete    Force delete hotfix branch after finish
n,[no]notag           Don'\''t tag this hotfix
b,[no]nobackmerge     Don'\''t back-merge master, or tag if applicable, in develop
S,[no]squash          Squash hotfix during merge
T,tagname!            Use given tag name
'
+ local opts commit keepmsg remotebranchdeleted localbranchdeleted
+ DEFINE_boolean fetch false 'fetch from origin before performing finish' F
+ _flags_define 1 fetch false 'fetch from origin before performing finish' F
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=fetch
+ _flags_default_=false
+ _flags_help_='fetch from origin before performing finish'
+ _flags_short_=F
+ _flags_return_=0
++ _flags_removeExclamationName fetch
++ _flags_opt_=fetch
++ _flags_isNegate fetch
++ case $1 in
++ flags_return=0
++ return 0
++ echo fetch
++ unset _flags_opt_
++ return 0
+ _flags_usName_=fetch
++ _flags_underscoreName fetch
++ echo fetch
++ tr - _
+ _flags_usName_=fetch
+ _flags_itemInList fetch ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=fetch
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a F = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList fetch showcommands noshowcommands showcommands
+ _flags_str_=fetch
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a F '!=' '~' ']'
+ _flags_itemInList F '~'
+ _flags_str_=F
+ shift
+ _flags_list_=' ~ '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate fetch
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_fetch='\''1'\'''
++ FLAGS_fetch=1
+ eval __flags_fetch_type=1
++ __flags_fetch_type=1
+ eval '__flags_fetch_default="1"'
++ __flags_fetch_default=1
+ eval '__flags_fetch_help="fetch from origin before performing finish"'
++ __flags_fetch_help='fetch from origin before performing finish'
+ eval '__flags_fetch_short='\''F'\'''
++ __flags_fetch_short=F
+ __flags_shortNames=' ~ F '
++ _flags_removeExclamationName fetch
++ _flags_opt_=fetch
++ _flags_isNegate fetch
++ case $1 in
++ flags_return=0
++ return 0
++ echo fetch
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean sign false 'sign the release tag cryptographically' s
+ _flags_define 1 sign false 'sign the release tag cryptographically' s
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=sign
+ _flags_default_=false
+ _flags_help_='sign the release tag cryptographically'
+ _flags_short_=s
+ _flags_return_=0
++ _flags_removeExclamationName sign
++ _flags_opt_=sign
++ _flags_isNegate sign
++ case $1 in
++ flags_return=0
++ return 0
++ echo sign
++ unset _flags_opt_
++ return 0
+ _flags_usName_=sign
++ _flags_underscoreName sign
++ echo sign
++ tr - _
+ _flags_usName_=sign
+ _flags_itemInList sign ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=sign
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a s = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList sign showcommands noshowcommands showcommands fetch nofetch fetch
+ _flags_str_=sign
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a s '!=' '~' ']'
+ _flags_itemInList s '~' F
+ _flags_str_=s
+ shift
+ _flags_list_=' ~ F '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate sign
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_sign='\''1'\'''
++ FLAGS_sign=1
+ eval __flags_sign_type=1
++ __flags_sign_type=1
+ eval '__flags_sign_default="1"'
++ __flags_sign_default=1
+ eval '__flags_sign_help="sign the release tag cryptographically"'
++ __flags_sign_help='sign the release tag cryptographically'
+ eval '__flags_sign_short='\''s'\'''
++ __flags_sign_short=s
+ __flags_shortNames=' ~ F s '
++ _flags_removeExclamationName sign
++ _flags_opt_=sign
++ _flags_isNegate sign
++ case $1 in
++ flags_return=0
++ return 0
++ echo sign
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_string signingkey '' 'use the given GPG-key for the digital signature (implies -s)' u
+ _flags_define 4 signingkey '' 'use the given GPG-key for the digital signature (implies -s)' u
+ '[' 5 -lt 4 ']'
+ _flags_type_=4
+ _flags_name_=signingkey
+ _flags_default_=
+ _flags_help_='use the given GPG-key for the digital signature (implies -s)'
+ _flags_short_=u
+ _flags_return_=0
++ _flags_removeExclamationName signingkey
++ _flags_opt_=signingkey
++ _flags_isNegate signingkey
++ case $1 in
++ flags_return=0
++ return 0
++ echo signingkey
++ unset _flags_opt_
++ return 0
+ _flags_usName_=signingkey
++ _flags_underscoreName signingkey
++ echo signingkey
++ tr - _
+ _flags_usName_=signingkey
+ _flags_itemInList signingkey ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=signingkey
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a u = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList signingkey showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign
+ _flags_str_=signingkey
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a u '!=' '~' ']'
+ _flags_itemInList u '~' F s
+ _flags_str_=u
+ shift
+ _flags_list_=' ~ F s '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_signingkey='\'''\'''
++ FLAGS_signingkey=
+ eval __flags_signingkey_type=4
++ __flags_signingkey_type=4
+ eval '__flags_signingkey_default=""'
++ __flags_signingkey_default=
+ eval '__flags_signingkey_help="use the given GPG-key for the digital signature (implies -s)"'
++ __flags_signingkey_help='use the given GPG-key for the digital signature (implies -s)'
+ eval '__flags_signingkey_short='\''u'\'''
++ __flags_signingkey_short=u
+ __flags_shortNames=' ~ F s u '
++ _flags_removeExclamationName signingkey
++ _flags_opt_=signingkey
++ _flags_isNegate signingkey
++ case $1 in
++ flags_return=0
++ return 0
++ echo signingkey
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey '
+ '[' 4 -eq 1 -a 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey '
+ '[' 4 -eq 1 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey '
+ '[' 4 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_string message '' 'use the given tag message' m
+ _flags_define 4 message '' 'use the given tag message' m
+ '[' 5 -lt 4 ']'
+ _flags_type_=4
+ _flags_name_=message
+ _flags_default_=
+ _flags_help_='use the given tag message'
+ _flags_short_=m
+ _flags_return_=0
++ _flags_removeExclamationName message
++ _flags_opt_=message
++ _flags_isNegate message
++ case $1 in
++ flags_return=0
++ return 0
++ echo message
++ unset _flags_opt_
++ return 0
+ _flags_usName_=message
++ _flags_underscoreName message
++ echo message
++ tr - _
+ _flags_usName_=message
+ _flags_itemInList message ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=message
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a m = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList message showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey
+ _flags_str_=message
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a m '!=' '~' ']'
+ _flags_itemInList m '~' F s u
+ _flags_str_=m
+ shift
+ _flags_list_=' ~ F s u '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_message='\'''\'''
++ FLAGS_message=
+ eval __flags_message_type=4
++ __flags_message_type=4
+ eval '__flags_message_default=""'
++ __flags_message_default=
+ eval '__flags_message_help="use the given tag message"'
++ __flags_message_help='use the given tag message'
+ eval '__flags_message_short='\''m'\'''
++ __flags_message_short=m
+ __flags_shortNames=' ~ F s u m '
++ _flags_removeExclamationName message
++ _flags_opt_=message
++ _flags_isNegate message
++ case $1 in
++ flags_return=0
++ return 0
++ echo message
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message '
+ '[' 4 -eq 1 -a 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message '
+ '[' 4 -eq 1 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message '
+ '[' 4 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_string messagefile '' 'use the contents of the given file as tag message' f
+ _flags_define 4 messagefile '' 'use the contents of the given file as tag message' f
+ '[' 5 -lt 4 ']'
+ _flags_type_=4
+ _flags_name_=messagefile
+ _flags_default_=
+ _flags_help_='use the contents of the given file as tag message'
+ _flags_short_=f
+ _flags_return_=0
++ _flags_removeExclamationName messagefile
++ _flags_opt_=messagefile
++ _flags_isNegate messagefile
++ case $1 in
++ flags_return=0
++ return 0
++ echo messagefile
++ unset _flags_opt_
++ return 0
+ _flags_usName_=messagefile
++ _flags_underscoreName messagefile
++ echo messagefile
++ tr - _
+ _flags_usName_=messagefile
+ _flags_itemInList messagefile ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=messagefile
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a f = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList messagefile showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message
+ _flags_str_=messagefile
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a f '!=' '~' ']'
+ _flags_itemInList f '~' F s u m
+ _flags_str_=f
+ shift
+ _flags_list_=' ~ F s u m '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_messagefile='\'''\'''
++ FLAGS_messagefile=
+ eval __flags_messagefile_type=4
++ __flags_messagefile_type=4
+ eval '__flags_messagefile_default=""'
++ __flags_messagefile_default=
+ eval '__flags_messagefile_help="use the contents of the given file as tag message"'
++ __flags_messagefile_help='use the contents of the given file as tag message'
+ eval '__flags_messagefile_short='\''f'\'''
++ __flags_messagefile_short=f
+ __flags_shortNames=' ~ F s u m f '
++ _flags_removeExclamationName messagefile
++ _flags_opt_=messagefile
++ _flags_isNegate messagefile
++ case $1 in
++ flags_return=0
++ return 0
++ echo messagefile
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile '
+ '[' 4 -eq 1 -a 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile '
+ '[' 4 -eq 1 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile '
+ '[' 4 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean push false 'push to origin after performing finish' p
+ _flags_define 1 push false 'push to origin after performing finish' p
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=push
+ _flags_default_=false
+ _flags_help_='push to origin after performing finish'
+ _flags_short_=p
+ _flags_return_=0
++ _flags_removeExclamationName push
++ _flags_opt_=push
++ _flags_isNegate push
++ case $1 in
++ flags_return=0
++ return 0
++ echo push
++ unset _flags_opt_
++ return 0
+ _flags_usName_=push
++ _flags_underscoreName push
++ echo push
++ tr - _
+ _flags_usName_=push
+ _flags_itemInList push ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=push
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a p = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList push showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile
+ _flags_str_=push
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a p '!=' '~' ']'
+ _flags_itemInList p '~' F s u m f
+ _flags_str_=p
+ shift
+ _flags_list_=' ~ F s u m f '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate push
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_push='\''1'\'''
++ FLAGS_push=1
+ eval __flags_push_type=1
++ __flags_push_type=1
+ eval '__flags_push_default="1"'
++ __flags_push_default=1
+ eval '__flags_push_help="push to origin after performing finish"'
++ __flags_push_help='push to origin after performing finish'
+ eval '__flags_push_short='\''p'\'''
++ __flags_push_short=p
+ __flags_shortNames=' ~ F s u m f p '
++ _flags_removeExclamationName push
++ _flags_opt_=push
++ _flags_isNegate push
++ case $1 in
++ flags_return=0
++ return 0
++ echo push
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean keep false 'keep branch after performing finish' k
+ _flags_define 1 keep false 'keep branch after performing finish' k
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=keep
+ _flags_default_=false
+ _flags_help_='keep branch after performing finish'
+ _flags_short_=k
+ _flags_return_=0
++ _flags_removeExclamationName keep
++ _flags_opt_=keep
++ _flags_isNegate keep
++ case $1 in
++ flags_return=0
++ return 0
++ echo keep
++ unset _flags_opt_
++ return 0
+ _flags_usName_=keep
++ _flags_underscoreName keep
++ echo keep
++ tr - _
+ _flags_usName_=keep
+ _flags_itemInList keep ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=keep
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a k = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList keep showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push
+ _flags_str_=keep
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a k '!=' '~' ']'
+ _flags_itemInList k '~' F s u m f p
+ _flags_str_=k
+ shift
+ _flags_list_=' ~ F s u m f p '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate keep
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_keep='\''1'\'''
++ FLAGS_keep=1
+ eval __flags_keep_type=1
++ __flags_keep_type=1
+ eval '__flags_keep_default="1"'
++ __flags_keep_default=1
+ eval '__flags_keep_help="keep branch after performing finish"'
++ __flags_keep_help='keep branch after performing finish'
+ eval '__flags_keep_short='\''k'\'''
++ __flags_keep_short=k
+ __flags_shortNames=' ~ F s u m f p k '
++ _flags_removeExclamationName keep
++ _flags_opt_=keep
++ _flags_isNegate keep
++ case $1 in
++ flags_return=0
++ return 0
++ echo keep
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean keepremote false 'keep the remote branch'
+ _flags_define 1 keepremote false 'keep the remote branch'
+ '[' 4 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=keepremote
+ _flags_default_=false
+ _flags_help_='keep the remote branch'
+ _flags_short_='~'
+ _flags_return_=0
++ _flags_removeExclamationName keepremote
++ _flags_opt_=keepremote
++ _flags_isNegate keepremote
++ case $1 in
++ flags_return=0
++ return 0
++ echo keepremote
++ unset _flags_opt_
++ return 0
+ _flags_usName_=keepremote
++ _flags_underscoreName keepremote
++ echo keepremote
++ tr - _
+ _flags_usName_=keepremote
+ _flags_itemInList keepremote ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=keepremote
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a '~' = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList keepremote showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep
+ _flags_str_=keepremote
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a '~' '!=' '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate keepremote
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_keepremote='\''1'\'''
++ FLAGS_keepremote=1
+ eval __flags_keepremote_type=1
++ __flags_keepremote_type=1
+ eval '__flags_keepremote_default="1"'
++ __flags_keepremote_default=1
+ eval '__flags_keepremote_help="keep the remote branch"'
++ __flags_keepremote_help='keep the remote branch'
+ eval '__flags_keepremote_short='\''~'\'''
++ __flags_keepremote_short='~'
+ __flags_shortNames=' ~ F s u m f p k ~ '
++ _flags_removeExclamationName keepremote
++ _flags_opt_=keepremote
++ _flags_isNegate keepremote
++ case $1 in
++ flags_return=0
++ return 0
++ echo keepremote
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean keeplocal false 'keep the local branch'
+ _flags_define 1 keeplocal false 'keep the local branch'
+ '[' 4 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=keeplocal
+ _flags_default_=false
+ _flags_help_='keep the local branch'
+ _flags_short_='~'
+ _flags_return_=0
++ _flags_removeExclamationName keeplocal
++ _flags_opt_=keeplocal
++ _flags_isNegate keeplocal
++ case $1 in
++ flags_return=0
++ return 0
++ echo keeplocal
++ unset _flags_opt_
++ return 0
+ _flags_usName_=keeplocal
++ _flags_underscoreName keeplocal
++ echo keeplocal
++ tr - _
+ _flags_usName_=keeplocal
+ _flags_itemInList keeplocal ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=keeplocal
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a '~' = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList keeplocal showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote
+ _flags_str_=keeplocal
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a '~' '!=' '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate keeplocal
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_keeplocal='\''1'\'''
++ FLAGS_keeplocal=1
+ eval __flags_keeplocal_type=1
++ __flags_keeplocal_type=1
+ eval '__flags_keeplocal_default="1"'
++ __flags_keeplocal_default=1
+ eval '__flags_keeplocal_help="keep the local branch"'
++ __flags_keeplocal_help='keep the local branch'
+ eval '__flags_keeplocal_short='\''~'\'''
++ __flags_keeplocal_short='~'
+ __flags_shortNames=' ~ F s u m f p k ~ ~ '
++ _flags_removeExclamationName keeplocal
++ _flags_opt_=keeplocal
++ _flags_isNegate keeplocal
++ case $1 in
++ flags_return=0
++ return 0
++ echo keeplocal
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean force_delete false 'force delete hotfix branch after finish' D
+ _flags_define 1 force_delete false 'force delete hotfix branch after finish' D
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=force_delete
+ _flags_default_=false
+ _flags_help_='force delete hotfix branch after finish'
+ _flags_short_=D
+ _flags_return_=0
++ _flags_removeExclamationName force_delete
++ _flags_opt_=force_delete
++ _flags_isNegate force_delete
++ case $1 in
++ flags_return=0
++ return 0
++ echo force_delete
++ unset _flags_opt_
++ return 0
+ _flags_usName_=force_delete
++ _flags_underscoreName force_delete
++ echo force_delete
++ tr - _
+ _flags_usName_=force_delete
+ _flags_itemInList force_delete ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=force_delete
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a D = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList force_delete showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal
+ _flags_str_=force_delete
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a D '!=' '~' ']'
+ _flags_itemInList D '~' F s u m f p k '~' '~'
+ _flags_str_=D
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate force_delete
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_force_delete='\''1'\'''
++ FLAGS_force_delete=1
+ eval __flags_force_delete_type=1
++ __flags_force_delete_type=1
+ eval '__flags_force_delete_default="1"'
++ __flags_force_delete_default=1
+ eval '__flags_force_delete_help="force delete hotfix branch after finish"'
++ __flags_force_delete_help='force delete hotfix branch after finish'
+ eval '__flags_force_delete_short='\''D'\'''
++ __flags_force_delete_short=D
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D '
++ _flags_removeExclamationName force_delete
++ _flags_opt_=force_delete
++ _flags_isNegate force_delete
++ case $1 in
++ flags_return=0
++ return 0
++ echo force_delete
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean notag false 'don'\''t tag this hotfix' n
+ _flags_define 1 notag false 'don'\''t tag this hotfix' n
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=notag
+ _flags_default_=false
+ _flags_help_='don'\''t tag this hotfix'
+ _flags_short_=n
+ _flags_return_=0
++ _flags_removeExclamationName notag
++ _flags_opt_=notag
++ _flags_isNegate notag
++ case $1 in
++ flags_return=0
++ return 0
++ echo notag
++ unset _flags_opt_
++ return 0
+ _flags_usName_=notag
++ _flags_underscoreName notag
++ echo notag
++ tr - _
+ _flags_usName_=notag
+ _flags_itemInList notag ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=notag
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a n = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList notag showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete
+ _flags_str_=notag
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a n '!=' '~' ']'
+ _flags_itemInList n '~' F s u m f p k '~' '~' D
+ _flags_str_=n
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate notag
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_notag='\''1'\'''
++ FLAGS_notag=1
+ eval __flags_notag_type=1
++ __flags_notag_type=1
+ eval '__flags_notag_default="1"'
++ __flags_notag_default=1
+ eval '__flags_notag_help="don'\''t tag this hotfix"'
++ __flags_notag_help='don'\''t tag this hotfix'
+ eval '__flags_notag_short='\''n'\'''
++ __flags_notag_short=n
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n '
++ _flags_removeExclamationName notag
++ _flags_opt_=notag
++ _flags_isNegate notag
++ case $1 in
++ flags_return=0
++ return 0
++ echo notag
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete nonotag '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean nobackmerge false 'don'\''t back-merge master, or tag if applicable, in develop ' b
+ _flags_define 1 nobackmerge false 'don'\''t back-merge master, or tag if applicable, in develop ' b
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=nobackmerge
+ _flags_default_=false
+ _flags_help_='don'\''t back-merge master, or tag if applicable, in develop '
+ _flags_short_=b
+ _flags_return_=0
++ _flags_removeExclamationName nobackmerge
++ _flags_opt_=nobackmerge
++ _flags_isNegate nobackmerge
++ case $1 in
++ flags_return=0
++ return 0
++ echo nobackmerge
++ unset _flags_opt_
++ return 0
+ _flags_usName_=nobackmerge
++ _flags_underscoreName nobackmerge
++ echo nobackmerge
++ tr - _
+ _flags_usName_=nobackmerge
+ _flags_itemInList nobackmerge ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=nobackmerge
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a b = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList nobackmerge showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag
+ _flags_str_=nobackmerge
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a b '!=' '~' ']'
+ _flags_itemInList b '~' F s u m f p k '~' '~' D n
+ _flags_str_=b
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D n '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate nobackmerge
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_nobackmerge='\''1'\'''
++ FLAGS_nobackmerge=1
+ eval __flags_nobackmerge_type=1
++ __flags_nobackmerge_type=1
+ eval '__flags_nobackmerge_default="1"'
++ __flags_nobackmerge_default=1
+ eval '__flags_nobackmerge_help="don'\''t back-merge master, or tag if applicable, in develop "'
++ __flags_nobackmerge_help='don'\''t back-merge master, or tag if applicable, in develop '
+ eval '__flags_nobackmerge_short='\''b'\'''
++ __flags_nobackmerge_short=b
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n b '
++ _flags_removeExclamationName nobackmerge
++ _flags_opt_=nobackmerge
++ _flags_isNegate nobackmerge
++ case $1 in
++ flags_return=0
++ return 0
++ echo nobackmerge
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete nonotag nonobackmerge '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean squash false 'squash release during merge' S
+ _flags_define 1 squash false 'squash release during merge' S
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=squash
+ _flags_default_=false
+ _flags_help_='squash release during merge'
+ _flags_short_=S
+ _flags_return_=0
++ _flags_removeExclamationName squash
++ _flags_opt_=squash
++ _flags_isNegate squash
++ case $1 in
++ flags_return=0
++ return 0
++ echo squash
++ unset _flags_opt_
++ return 0
+ _flags_usName_=squash
++ _flags_underscoreName squash
++ echo squash
++ tr - _
+ _flags_usName_=squash
+ _flags_itemInList squash ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=squash
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a S = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList squash showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge
+ _flags_str_=squash
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a S '!=' '~' ']'
+ _flags_itemInList S '~' F s u m f p k '~' '~' D n b
+ _flags_str_=S
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D n b '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate squash
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_squash='\''1'\'''
++ FLAGS_squash=1
+ eval __flags_squash_type=1
++ __flags_squash_type=1
+ eval '__flags_squash_default="1"'
++ __flags_squash_default=1
+ eval '__flags_squash_help="squash release during merge"'
++ __flags_squash_help='squash release during merge'
+ eval '__flags_squash_short='\''S'\'''
++ __flags_squash_short=S
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n b S '
++ _flags_removeExclamationName squash
++ _flags_opt_=squash
++ _flags_isNegate squash
++ case $1 in
++ flags_return=0
++ return 0
++ echo squash
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge squash '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete nonotag nonobackmerge nosquash '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_boolean squash-info false 'add branch info during squash'
+ _flags_define 1 squash-info false 'add branch info during squash'
+ '[' 4 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_=squash-info
+ _flags_default_=false
+ _flags_help_='add branch info during squash'
+ _flags_short_='~'
+ _flags_return_=0
++ _flags_removeExclamationName squash-info
++ _flags_opt_=squash-info
++ _flags_isNegate squash-info
++ case $1 in
++ flags_return=0
++ return 0
++ echo squash-info
++ unset _flags_opt_
++ return 0
+ _flags_usName_=squash-info
++ _flags_underscoreName squash-info
++ echo squash-info
++ tr - _
+ _flags_usName_=squash_info
+ _flags_itemInList squash_info ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=squash_info
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a '~' = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList squash_info showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash
+ _flags_str_=squash_info
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a '~' '!=' '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate squash-info
+ case $1 in
+ flags_return=0
+ return 0
+ _flags_isNegate_=0
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_squash_info='\''1'\'''
++ FLAGS_squash_info=1
+ eval __flags_squash_info_type=1
++ __flags_squash_info_type=1
+ eval '__flags_squash_info_default="1"'
++ __flags_squash_info_default=1
+ eval '__flags_squash_info_help="add branch info during squash"'
++ __flags_squash_info_help='add branch info during squash'
+ eval '__flags_squash_info_short='\''~'\'''
++ __flags_squash_info_short='~'
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n b S ~ '
++ _flags_removeExclamationName squash-info
++ _flags_opt_=squash-info
++ _flags_isNegate squash-info
++ case $1 in
++ flags_return=0
++ return 0
++ echo squash-info
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge squash squash-info '
+ '[' 1 -eq 1 -a 0 -eq 0 ']'
+ __flags_boolNames=' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete nonotag nonobackmerge nosquash nosquash-info '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info '
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info '
+ '[' 1 -eq 1 ']'
+ '[' 0 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ DEFINE_string tagname '' 'use the given tag name' T
+ _flags_define 4 tagname '' 'use the given tag name' T
+ '[' 5 -lt 4 ']'
+ _flags_type_=4
+ _flags_name_=tagname
+ _flags_default_=
+ _flags_help_='use the given tag name'
+ _flags_short_=T
+ _flags_return_=0
++ _flags_removeExclamationName tagname
++ _flags_opt_=tagname
++ _flags_isNegate tagname
++ case $1 in
++ flags_return=0
++ return 0
++ echo tagname
++ unset _flags_opt_
++ return 0
+ _flags_usName_=tagname
++ _flags_underscoreName tagname
++ echo tagname
++ tr - _
+ _flags_usName_=tagname
+ _flags_itemInList tagname ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=tagname
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a T = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList tagname showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info
+ _flags_str_=tagname
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a T '!=' '~' ']'
+ _flags_itemInList T '~' F s u m f p k '~' '~' D n b S '~'
+ _flags_str_=T
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D n b S ~ '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_tagname='\'''\'''
++ FLAGS_tagname=
+ eval __flags_tagname_type=4
++ __flags_tagname_type=4
+ eval '__flags_tagname_default=""'
++ __flags_tagname_default=
+ eval '__flags_tagname_help="use the given tag name"'
++ __flags_tagname_help='use the given tag name'
+ eval '__flags_tagname_short='\''T'\'''
++ __flags_tagname_short=T
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n b S ~ T '
++ _flags_removeExclamationName tagname
++ _flags_opt_=tagname
++ _flags_isNegate tagname
++ case $1 in
++ flags_return=0
++ return 0
++ echo tagname
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge squash squash-info tagname '
+ '[' 4 -eq 1 -a 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname '
+ '[' 4 -eq 1 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname tagname '
+ '[' 4 -eq 1 ']'
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.fetch fetch
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.fetch
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.sign sign
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.sign
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.push push
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.push
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.keep keep
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.keep
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.keepremote keepremote
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.keepremote
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.keeplocal keeplocal
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.keeplocal
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.force-delete force_delete
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.force-delete
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.notag notag
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.notag
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.nobackmerge nobackmerge
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.nobackmerge
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.squash squash
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.squash
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_boolean hotfix.finish.squash-info squash_info
+ local _variable
++ git config --bool --get gitflow.hotfix.finish.squash-info
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_string hotfix.finish.signingkey signingkey
+ local _variable
++ git config --get gitflow.hotfix.finish.signingkey
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_string hotfix.finish.message message
+ local _variable
++ git config --get gitflow.hotfix.finish.message
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ gitflow_override_flag_string hotfix.finish.messagefile messagefile
+ local _variable
++ git config --get gitflow.hotfix.finish.messagefile
+ _variable=
+ case $? in
+ unset _variable
+ return 0
+ parse_args -n testbranch ''
+ FLAGS -n testbranch ''
+ '[' -z '' ']'
+ DEFINE_boolean 'help!' false 'show this help' h
+ _flags_define 1 'help!' false 'show this help' h
+ '[' 5 -lt 4 ']'
+ _flags_type_=1
+ _flags_name_='help!'
+ _flags_default_=false
+ _flags_help_='show this help'
+ _flags_short_=h
+ _flags_return_=0
++ _flags_removeExclamationName 'help!'
++ _flags_opt_='help!'
++ _flags_isNegate 'help!'
++ case $1 in
++ flags_return=1
++ return 1
++ _flags_useBuiltin
++ return 0
++ echo help
++ unset _flags_opt_
++ return 0
+ _flags_usName_=help
++ _flags_underscoreName help
++ echo help
++ tr - _
+ _flags_usName_=help
+ _flags_itemInList help ' ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION '
+ _flags_str_=help
+ shift
+ _flags_list_='  ARGC ARGV ERROR FALSE GETOPT_CMD HELP PARENT TRUE  VERSION  '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 1 -eq 0 ']'
+ '[' 0 -eq 0 -a 1 -ne 1 -a h = '~' ']'
+ '[' 0 -eq 0 ']'
+ _flags_itemInList help showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname tagname
+ _flags_str_=help
+ shift
+ _flags_list_=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname tagname '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 -a h '!=' '~' ']'
+ _flags_itemInList h '~' F s u m f p k '~' '~' D n b S '~' T
+ _flags_str_=h
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D n b S ~ T '
+ case ${_flags_list_} in
+ flags_return=1
+ unset _flags_str_ _flags_list_
+ return 1
+ '[' 0 -eq 0 ']'
+ _flags_isNegate_=1
+ case ${_flags_type_} in
+ _flags_validBool false
+ _flags_bool_=false
+ flags_return=0
+ case "${_flags_bool_}" in
+ unset _flags_bool_
+ return 0
+ case ${_flags_default_} in
+ _flags_default_=1
+ _flags_isNegate 'help!'
+ case $1 in
+ flags_return=1
+ return 1
+ _flags_isNegate_=1
+ '[' 0 -eq 0 ']'
+ eval 'FLAGS_help='\''1'\'''
++ FLAGS_help=1
+ eval __flags_help_type=1
++ __flags_help_type=1
+ eval '__flags_help_default="1"'
++ __flags_help_default=1
+ eval '__flags_help_help="show this help"'
++ __flags_help_help='show this help'
+ eval '__flags_help_short='\''h'\'''
++ __flags_help_short=h
+ __flags_shortNames=' ~ F s u m f p k ~ ~ D n b S ~ T h '
++ _flags_removeExclamationName 'help!'
++ _flags_opt_='help!'
++ _flags_isNegate 'help!'
++ case $1 in
++ flags_return=1
++ return 1
++ _flags_useBuiltin
++ return 0
++ echo help
++ unset _flags_opt_
++ return 0
+ __flags_longNames=' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge squash squash-info tagname help '
+ '[' 1 -eq 1 -a 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname tagname help '
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 0 ']'
+ __flags_definedNames=' showcommands noshowcommands showcommands fetch nofetch fetch sign nosign sign signingkey signingkey message message messagefile messagefile push nopush push keep nokeep keep keepremote nokeepremote keepremote keeplocal nokeeplocal keeplocal force_delete noforce_delete force_delete notag nonotag notag nobackmerge nonobackmerge nobackmerge squash nosquash squash squash_info nosquash_info squash_info tagname tagname help help '
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
++ _flags_removeExclamationName 'help!'
++ _flags_opt_='help!'
++ _flags_isNegate 'help!'
++ case $1 in
++ flags_return=1
++ return 1
++ _flags_useBuiltin
++ return 0
++ echo help
++ unset _flags_opt_
++ return 0
+ __flags_nonegateNames=' help '
+ flags_return=0
+ unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ _flags_type_ _flags_usName_ _flags_isNegate_
+ '[' 0 -eq 2 ']'
+ return 0
+ '[' 3 -gt 0 ']'
+ '[' 1 -ne 1 ']'
+ _flags_getoptEnhanced -n testbranch ''
+ flags_return=0
++ _flags_genOptStr 0
++ _flags_optStrType_=0
++ _flags_opts_=
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName showcommands
+++ _flags_opt_=showcommands
+++ _flags_isNegate showcommands
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo showcommands
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=showcommands
+++ _flags_underscoreName showcommands
+++ echo showcommands
+++ tr - _
++ _flags_usName_=showcommands
+++ _flags_getFlagInfo showcommands type
+++ _flags_gFI_usName_=showcommands
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_showcommands_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_showcommands_type:-}"'
+++ eval '_flags_infoValue_="${__flags_showcommands_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo showcommands short
+++ _flags_gFI_usName_=showcommands
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_showcommands_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_showcommands_short:-}"'
+++ eval '_flags_infoValue_="${__flags_showcommands_short:-}"'
++++ _flags_infoValue_='~'
+++ '[' -n '~' ']'
+++ flags_return=0
+++ echo '~'
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_='~'
++ '[' '~' '!=' '~' ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName fetch
+++ _flags_opt_=fetch
+++ _flags_isNegate fetch
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo fetch
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=fetch
+++ _flags_underscoreName fetch
+++ echo fetch
+++ tr - _
++ _flags_usName_=fetch
+++ _flags_getFlagInfo fetch type
+++ _flags_gFI_usName_=fetch
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_fetch_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_fetch_type:-}"'
+++ eval '_flags_infoValue_="${__flags_fetch_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo fetch short
+++ _flags_gFI_usName_=fetch
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_fetch_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_fetch_short:-}"'
+++ eval '_flags_infoValue_="${__flags_fetch_short:-}"'
++++ _flags_infoValue_=F
+++ '[' -n F ']'
+++ flags_return=0
+++ echo F
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=F
++ '[' F '!=' '~' ']'
++ _flags_opts_=F
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName sign
+++ _flags_opt_=sign
+++ _flags_isNegate sign
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo sign
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=sign
+++ _flags_underscoreName sign
+++ echo sign
+++ tr - _
++ _flags_usName_=sign
+++ _flags_getFlagInfo sign type
+++ _flags_gFI_usName_=sign
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_sign_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_sign_type:-}"'
+++ eval '_flags_infoValue_="${__flags_sign_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo sign short
+++ _flags_gFI_usName_=sign
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_sign_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_sign_short:-}"'
+++ eval '_flags_infoValue_="${__flags_sign_short:-}"'
++++ _flags_infoValue_=s
+++ '[' -n s ']'
+++ flags_return=0
+++ echo s
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=s
++ '[' s '!=' '~' ']'
++ _flags_opts_=Fs
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName signingkey
+++ _flags_opt_=signingkey
+++ _flags_isNegate signingkey
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo signingkey
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=signingkey
+++ _flags_underscoreName signingkey
+++ echo signingkey
+++ tr - _
++ _flags_usName_=signingkey
+++ _flags_getFlagInfo signingkey type
+++ _flags_gFI_usName_=signingkey
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_signingkey_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_signingkey_type:-}"'
+++ eval '_flags_infoValue_="${__flags_signingkey_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo signingkey short
+++ _flags_gFI_usName_=signingkey
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_signingkey_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_signingkey_short:-}"'
+++ eval '_flags_infoValue_="${__flags_signingkey_short:-}"'
++++ _flags_infoValue_=u
+++ '[' -n u ']'
+++ flags_return=0
+++ echo u
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=u
++ '[' u '!=' '~' ']'
++ _flags_opts_=Fsu
++ '[' 4 -ne 1 ']'
++ _flags_opts_=Fsu:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName message
+++ _flags_opt_=message
+++ _flags_isNegate message
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo message
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=message
+++ _flags_underscoreName message
+++ echo message
+++ tr - _
++ _flags_usName_=message
+++ _flags_getFlagInfo message type
+++ _flags_gFI_usName_=message
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_message_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_message_type:-}"'
+++ eval '_flags_infoValue_="${__flags_message_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo message short
+++ _flags_gFI_usName_=message
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_message_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_message_short:-}"'
+++ eval '_flags_infoValue_="${__flags_message_short:-}"'
++++ _flags_infoValue_=m
+++ '[' -n m ']'
+++ flags_return=0
+++ echo m
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=m
++ '[' m '!=' '~' ']'
++ _flags_opts_=Fsu:m
++ '[' 4 -ne 1 ']'
++ _flags_opts_=Fsu:m:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName messagefile
+++ _flags_opt_=messagefile
+++ _flags_isNegate messagefile
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo messagefile
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=messagefile
+++ _flags_underscoreName messagefile
+++ echo messagefile
+++ tr - _
++ _flags_usName_=messagefile
+++ _flags_getFlagInfo messagefile type
+++ _flags_gFI_usName_=messagefile
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_messagefile_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_messagefile_type:-}"'
+++ eval '_flags_infoValue_="${__flags_messagefile_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo messagefile short
+++ _flags_gFI_usName_=messagefile
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_messagefile_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_messagefile_short:-}"'
+++ eval '_flags_infoValue_="${__flags_messagefile_short:-}"'
++++ _flags_infoValue_=f
+++ '[' -n f ']'
+++ flags_return=0
+++ echo f
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=f
++ '[' f '!=' '~' ']'
++ _flags_opts_=Fsu:m:f
++ '[' 4 -ne 1 ']'
++ _flags_opts_=Fsu:m:f:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName push
+++ _flags_opt_=push
+++ _flags_isNegate push
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo push
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=push
+++ _flags_underscoreName push
+++ echo push
+++ tr - _
++ _flags_usName_=push
+++ _flags_getFlagInfo push type
+++ _flags_gFI_usName_=push
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_push_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_push_type:-}"'
+++ eval '_flags_infoValue_="${__flags_push_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo push short
+++ _flags_gFI_usName_=push
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_push_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_push_short:-}"'
+++ eval '_flags_infoValue_="${__flags_push_short:-}"'
++++ _flags_infoValue_=p
+++ '[' -n p ']'
+++ flags_return=0
+++ echo p
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=p
++ '[' p '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:p
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keep
+++ _flags_opt_=keep
+++ _flags_isNegate keep
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keep
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keep
+++ _flags_underscoreName keep
+++ echo keep
+++ tr - _
++ _flags_usName_=keep
+++ _flags_getFlagInfo keep type
+++ _flags_gFI_usName_=keep
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keep_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keep_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keep_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo keep short
+++ _flags_gFI_usName_=keep
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_keep_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keep_short:-}"'
+++ eval '_flags_infoValue_="${__flags_keep_short:-}"'
++++ _flags_infoValue_=k
+++ '[' -n k ']'
+++ flags_return=0
+++ echo k
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=k
++ '[' k '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pk
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keepremote
+++ _flags_opt_=keepremote
+++ _flags_isNegate keepremote
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keepremote
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keepremote
+++ _flags_underscoreName keepremote
+++ echo keepremote
+++ tr - _
++ _flags_usName_=keepremote
+++ _flags_getFlagInfo keepremote type
+++ _flags_gFI_usName_=keepremote
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keepremote_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keepremote_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keepremote_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo keepremote short
+++ _flags_gFI_usName_=keepremote
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_keepremote_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keepremote_short:-}"'
+++ eval '_flags_infoValue_="${__flags_keepremote_short:-}"'
++++ _flags_infoValue_='~'
+++ '[' -n '~' ']'
+++ flags_return=0
+++ echo '~'
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_='~'
++ '[' '~' '!=' '~' ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keeplocal
+++ _flags_opt_=keeplocal
+++ _flags_isNegate keeplocal
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keeplocal
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keeplocal
+++ _flags_underscoreName keeplocal
+++ echo keeplocal
+++ tr - _
++ _flags_usName_=keeplocal
+++ _flags_getFlagInfo keeplocal type
+++ _flags_gFI_usName_=keeplocal
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keeplocal_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keeplocal_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keeplocal_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo keeplocal short
+++ _flags_gFI_usName_=keeplocal
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_keeplocal_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keeplocal_short:-}"'
+++ eval '_flags_infoValue_="${__flags_keeplocal_short:-}"'
++++ _flags_infoValue_='~'
+++ '[' -n '~' ']'
+++ flags_return=0
+++ echo '~'
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_='~'
++ '[' '~' '!=' '~' ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName force_delete
+++ _flags_opt_=force_delete
+++ _flags_isNegate force_delete
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo force_delete
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=force_delete
+++ _flags_underscoreName force_delete
+++ echo force_delete
+++ tr - _
++ _flags_usName_=force_delete
+++ _flags_getFlagInfo force_delete type
+++ _flags_gFI_usName_=force_delete
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_force_delete_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_force_delete_type:-}"'
+++ eval '_flags_infoValue_="${__flags_force_delete_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo force_delete short
+++ _flags_gFI_usName_=force_delete
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_force_delete_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_force_delete_short:-}"'
+++ eval '_flags_infoValue_="${__flags_force_delete_short:-}"'
++++ _flags_infoValue_=D
+++ '[' -n D ']'
+++ flags_return=0
+++ echo D
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=D
++ '[' D '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkD
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName notag
+++ _flags_opt_=notag
+++ _flags_isNegate notag
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo notag
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=notag
+++ _flags_underscoreName notag
+++ echo notag
+++ tr - _
++ _flags_usName_=notag
+++ _flags_getFlagInfo notag type
+++ _flags_gFI_usName_=notag
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_notag_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_notag_type:-}"'
+++ eval '_flags_infoValue_="${__flags_notag_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo notag short
+++ _flags_gFI_usName_=notag
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_notag_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_notag_short:-}"'
+++ eval '_flags_infoValue_="${__flags_notag_short:-}"'
++++ _flags_infoValue_=n
+++ '[' -n n ']'
+++ flags_return=0
+++ echo n
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=n
++ '[' n '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkDn
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName nobackmerge
+++ _flags_opt_=nobackmerge
+++ _flags_isNegate nobackmerge
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo nobackmerge
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=nobackmerge
+++ _flags_underscoreName nobackmerge
+++ echo nobackmerge
+++ tr - _
++ _flags_usName_=nobackmerge
+++ _flags_getFlagInfo nobackmerge type
+++ _flags_gFI_usName_=nobackmerge
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_nobackmerge_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_nobackmerge_type:-}"'
+++ eval '_flags_infoValue_="${__flags_nobackmerge_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo nobackmerge short
+++ _flags_gFI_usName_=nobackmerge
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_nobackmerge_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_nobackmerge_short:-}"'
+++ eval '_flags_infoValue_="${__flags_nobackmerge_short:-}"'
++++ _flags_infoValue_=b
+++ '[' -n b ']'
+++ flags_return=0
+++ echo b
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=b
++ '[' b '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkDnb
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName squash
+++ _flags_opt_=squash
+++ _flags_isNegate squash
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=squash
+++ _flags_underscoreName squash
+++ echo squash
+++ tr - _
++ _flags_usName_=squash
+++ _flags_getFlagInfo squash type
+++ _flags_gFI_usName_=squash
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_squash_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_type:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo squash short
+++ _flags_gFI_usName_=squash
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_squash_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_short:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_short:-}"'
++++ _flags_infoValue_=S
+++ '[' -n S ']'
+++ flags_return=0
+++ echo S
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=S
++ '[' S '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkDnbS
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName squash-info
+++ _flags_opt_=squash-info
+++ _flags_isNegate squash-info
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash-info
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=squash-info
+++ _flags_underscoreName squash-info
+++ echo squash-info
+++ tr - _
++ _flags_usName_=squash_info
+++ _flags_getFlagInfo squash_info type
+++ _flags_gFI_usName_=squash_info
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_squash_info_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_info_type:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_info_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo squash_info short
+++ _flags_gFI_usName_=squash_info
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_squash_info_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_info_short:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_info_short:-}"'
++++ _flags_infoValue_='~'
+++ '[' -n '~' ']'
+++ flags_return=0
+++ echo '~'
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_='~'
++ '[' '~' '!=' '~' ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName tagname
+++ _flags_opt_=tagname
+++ _flags_isNegate tagname
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo tagname
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=tagname
+++ _flags_underscoreName tagname
+++ echo tagname
+++ tr - _
++ _flags_usName_=tagname
+++ _flags_getFlagInfo tagname type
+++ _flags_gFI_usName_=tagname
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_tagname_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_tagname_type:-}"'
+++ eval '_flags_infoValue_="${__flags_tagname_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo tagname short
+++ _flags_gFI_usName_=tagname
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_tagname_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_tagname_short:-}"'
+++ eval '_flags_infoValue_="${__flags_tagname_short:-}"'
++++ _flags_infoValue_=T
+++ '[' -n T ']'
+++ flags_return=0
+++ echo T
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=T
++ '[' T '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkDnbST
++ '[' 4 -ne 1 ']'
++ _flags_opts_=Fsu:m:f:pkDnbST:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName help
+++ _flags_opt_=help
+++ _flags_isNegate help
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo help
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=help
+++ _flags_underscoreName help
+++ echo help
+++ tr - _
++ _flags_usName_=help
+++ _flags_getFlagInfo help type
+++ _flags_gFI_usName_=help
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_help_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_help_type:-}"'
+++ eval '_flags_infoValue_="${__flags_help_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_getFlagInfo help short
+++ _flags_gFI_usName_=help
+++ _flags_gFI_info_=short
+++ _flags_infoVar_=__flags_help_short
+++ _flags_strToEval_='_flags_infoValue_="${__flags_help_short:-}"'
+++ eval '_flags_infoValue_="${__flags_help_short:-}"'
++++ _flags_infoValue_=h
+++ '[' -n h ']'
+++ flags_return=0
+++ echo h
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_shortName_=h
++ '[' h '!=' '~' ']'
++ _flags_opts_=Fsu:m:f:pkDnbST:h
++ '[' 1 -ne 1 ']'
++ echo Fsu:m:f:pkDnbST:h
++ unset _flags_name_ _flags_opts_ _flags_optStrType_ _flags_shortName_ _flags_type_ _flags_usName_
++ return 0
+ _flags_shortOpts_=Fsu:m:f:pkDnbST:h
++ echo ' noshowcommands nofetch nosign nopush nokeep nokeepremote nokeeplocal noforce_delete nonotag nonobackmerge nosquash nosquash-info '
++ sed 's/^ *//;s/ *$//;s/ /,/g'
+ _flags_boolOpts_=noshowcommands,nofetch,nosign,nopush,nokeep,nokeepremote,nokeeplocal,noforce_delete,nonotag,nonobackmerge,nosquash,nosquash-info
++ _flags_genOptStr 1
++ _flags_optStrType_=1
++ _flags_opts_=
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName showcommands
+++ _flags_opt_=showcommands
+++ _flags_isNegate showcommands
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo showcommands
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=showcommands
+++ _flags_underscoreName showcommands
+++ echo showcommands
+++ tr - _
++ _flags_usName_=showcommands
+++ _flags_getFlagInfo showcommands type
+++ _flags_gFI_usName_=showcommands
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_showcommands_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_showcommands_type:-}"'
+++ eval '_flags_infoValue_="${__flags_showcommands_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName showcommands
+++ _flags_opt_=showcommands
+++ _flags_isNegate showcommands
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo showcommands
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName fetch
+++ _flags_opt_=fetch
+++ _flags_isNegate fetch
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo fetch
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=fetch
+++ _flags_underscoreName fetch
+++ echo fetch
+++ tr - _
++ _flags_usName_=fetch
+++ _flags_getFlagInfo fetch type
+++ _flags_gFI_usName_=fetch
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_fetch_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_fetch_type:-}"'
+++ eval '_flags_infoValue_="${__flags_fetch_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName fetch
+++ _flags_opt_=fetch
+++ _flags_isNegate fetch
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo fetch
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName sign
+++ _flags_opt_=sign
+++ _flags_isNegate sign
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo sign
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=sign
+++ _flags_underscoreName sign
+++ echo sign
+++ tr - _
++ _flags_usName_=sign
+++ _flags_getFlagInfo sign type
+++ _flags_gFI_usName_=sign
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_sign_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_sign_type:-}"'
+++ eval '_flags_infoValue_="${__flags_sign_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName sign
+++ _flags_opt_=sign
+++ _flags_isNegate sign
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo sign
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName signingkey
+++ _flags_opt_=signingkey
+++ _flags_isNegate signingkey
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo signingkey
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=signingkey
+++ _flags_underscoreName signingkey
+++ echo signingkey
+++ tr - _
++ _flags_usName_=signingkey
+++ _flags_getFlagInfo signingkey type
+++ _flags_gFI_usName_=signingkey
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_signingkey_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_signingkey_type:-}"'
+++ eval '_flags_infoValue_="${__flags_signingkey_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName signingkey
+++ _flags_opt_=signingkey
+++ _flags_isNegate signingkey
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo signingkey
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey
++ '[' 4 -ne 1 ']'
++ _flags_opts_=showcommands,fetch,sign,signingkey:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName message
+++ _flags_opt_=message
+++ _flags_isNegate message
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo message
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=message
+++ _flags_underscoreName message
+++ echo message
+++ tr - _
++ _flags_usName_=message
+++ _flags_getFlagInfo message type
+++ _flags_gFI_usName_=message
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_message_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_message_type:-}"'
+++ eval '_flags_infoValue_="${__flags_message_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName message
+++ _flags_opt_=message
+++ _flags_isNegate message
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo message
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message
++ '[' 4 -ne 1 ']'
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName messagefile
+++ _flags_opt_=messagefile
+++ _flags_isNegate messagefile
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo messagefile
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=messagefile
+++ _flags_underscoreName messagefile
+++ echo messagefile
+++ tr - _
++ _flags_usName_=messagefile
+++ _flags_getFlagInfo messagefile type
+++ _flags_gFI_usName_=messagefile
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_messagefile_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_messagefile_type:-}"'
+++ eval '_flags_infoValue_="${__flags_messagefile_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName messagefile
+++ _flags_opt_=messagefile
+++ _flags_isNegate messagefile
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo messagefile
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile
++ '[' 4 -ne 1 ']'
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName push
+++ _flags_opt_=push
+++ _flags_isNegate push
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo push
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=push
+++ _flags_underscoreName push
+++ echo push
+++ tr - _
++ _flags_usName_=push
+++ _flags_getFlagInfo push type
+++ _flags_gFI_usName_=push
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_push_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_push_type:-}"'
+++ eval '_flags_infoValue_="${__flags_push_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName push
+++ _flags_opt_=push
+++ _flags_isNegate push
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo push
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keep
+++ _flags_opt_=keep
+++ _flags_isNegate keep
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keep
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keep
+++ _flags_underscoreName keep
+++ echo keep
+++ tr - _
++ _flags_usName_=keep
+++ _flags_getFlagInfo keep type
+++ _flags_gFI_usName_=keep
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keep_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keep_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keep_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName keep
+++ _flags_opt_=keep
+++ _flags_isNegate keep
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keep
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keepremote
+++ _flags_opt_=keepremote
+++ _flags_isNegate keepremote
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keepremote
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keepremote
+++ _flags_underscoreName keepremote
+++ echo keepremote
+++ tr - _
++ _flags_usName_=keepremote
+++ _flags_getFlagInfo keepremote type
+++ _flags_gFI_usName_=keepremote
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keepremote_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keepremote_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keepremote_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName keepremote
+++ _flags_opt_=keepremote
+++ _flags_isNegate keepremote
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keepremote
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName keeplocal
+++ _flags_opt_=keeplocal
+++ _flags_isNegate keeplocal
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keeplocal
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=keeplocal
+++ _flags_underscoreName keeplocal
+++ echo keeplocal
+++ tr - _
++ _flags_usName_=keeplocal
+++ _flags_getFlagInfo keeplocal type
+++ _flags_gFI_usName_=keeplocal
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_keeplocal_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_keeplocal_type:-}"'
+++ eval '_flags_infoValue_="${__flags_keeplocal_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName keeplocal
+++ _flags_opt_=keeplocal
+++ _flags_isNegate keeplocal
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo keeplocal
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName force_delete
+++ _flags_opt_=force_delete
+++ _flags_isNegate force_delete
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo force_delete
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=force_delete
+++ _flags_underscoreName force_delete
+++ echo force_delete
+++ tr - _
++ _flags_usName_=force_delete
+++ _flags_getFlagInfo force_delete type
+++ _flags_gFI_usName_=force_delete
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_force_delete_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_force_delete_type:-}"'
+++ eval '_flags_infoValue_="${__flags_force_delete_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName force_delete
+++ _flags_opt_=force_delete
+++ _flags_isNegate force_delete
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo force_delete
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName notag
+++ _flags_opt_=notag
+++ _flags_isNegate notag
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo notag
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=notag
+++ _flags_underscoreName notag
+++ echo notag
+++ tr - _
++ _flags_usName_=notag
+++ _flags_getFlagInfo notag type
+++ _flags_gFI_usName_=notag
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_notag_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_notag_type:-}"'
+++ eval '_flags_infoValue_="${__flags_notag_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName notag
+++ _flags_opt_=notag
+++ _flags_isNegate notag
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo notag
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName nobackmerge
+++ _flags_opt_=nobackmerge
+++ _flags_isNegate nobackmerge
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo nobackmerge
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=nobackmerge
+++ _flags_underscoreName nobackmerge
+++ echo nobackmerge
+++ tr - _
++ _flags_usName_=nobackmerge
+++ _flags_getFlagInfo nobackmerge type
+++ _flags_gFI_usName_=nobackmerge
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_nobackmerge_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_nobackmerge_type:-}"'
+++ eval '_flags_infoValue_="${__flags_nobackmerge_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName nobackmerge
+++ _flags_opt_=nobackmerge
+++ _flags_isNegate nobackmerge
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo nobackmerge
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName squash
+++ _flags_opt_=squash
+++ _flags_isNegate squash
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=squash
+++ _flags_underscoreName squash
+++ echo squash
+++ tr - _
++ _flags_usName_=squash
+++ _flags_getFlagInfo squash type
+++ _flags_gFI_usName_=squash
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_squash_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_type:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName squash
+++ _flags_opt_=squash
+++ _flags_isNegate squash
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName squash-info
+++ _flags_opt_=squash-info
+++ _flags_isNegate squash-info
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash-info
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=squash-info
+++ _flags_underscoreName squash-info
+++ echo squash-info
+++ tr - _
++ _flags_usName_=squash_info
+++ _flags_getFlagInfo squash_info type
+++ _flags_gFI_usName_=squash_info
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_squash_info_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_squash_info_type:-}"'
+++ eval '_flags_infoValue_="${__flags_squash_info_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName squash-info
+++ _flags_opt_=squash-info
+++ _flags_isNegate squash-info
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo squash-info
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info
++ '[' 1 -ne 1 ']'
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName tagname
+++ _flags_opt_=tagname
+++ _flags_isNegate tagname
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo tagname
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=tagname
+++ _flags_underscoreName tagname
+++ echo tagname
+++ tr - _
++ _flags_usName_=tagname
+++ _flags_getFlagInfo tagname type
+++ _flags_gFI_usName_=tagname
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_tagname_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_tagname_type:-}"'
+++ eval '_flags_infoValue_="${__flags_tagname_type:-}"'
++++ _flags_infoValue_=4
+++ '[' -n 4 ']'
+++ flags_return=0
+++ echo 4
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=4
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName tagname
+++ _flags_opt_=tagname
+++ _flags_isNegate tagname
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo tagname
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname
++ '[' 4 -ne 1 ']'
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname:
++ for _flags_name_ in ${__flags_longNames}
+++ _flags_removeExclamationName help
+++ _flags_opt_=help
+++ _flags_isNegate help
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo help
+++ unset _flags_opt_
+++ return 0
++ _flags_usName_=help
+++ _flags_underscoreName help
+++ echo help
+++ tr - _
++ _flags_usName_=help
+++ _flags_getFlagInfo help type
+++ _flags_gFI_usName_=help
+++ _flags_gFI_info_=type
+++ _flags_infoVar_=__flags_help_type
+++ _flags_strToEval_='_flags_infoValue_="${__flags_help_type:-}"'
+++ eval '_flags_infoValue_="${__flags_help_type:-}"'
++++ _flags_infoValue_=1
+++ '[' -n 1 ']'
+++ flags_return=0
+++ echo 1
+++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
+++ '[' 0 -eq 2 ']'
+++ return 0
++ _flags_type_=1
++ '[' 0 -eq 0 ']'
++ case ${_flags_optStrType_} in
+++ _flags_removeExclamationName help
+++ _flags_opt_=help
+++ _flags_isNegate help
+++ case $1 in
+++ flags_return=0
+++ return 0
+++ echo help
+++ unset _flags_opt_
+++ return 0
++ _flags_opts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname:,help
++ '[' 1 -ne 1 ']'
++ echo showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname:,help
++ unset _flags_name_ _flags_opts_ _flags_optStrType_ _flags_shortName_ _flags_type_ _flags_usName_
++ return 0
+ _flags_longOpts_=showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname:,help
++ getopt -o Fsu:m:f:pkDnbST:h -l showcommands,fetch,sign,signingkey:,message:,messagefile:,push,keep,keepremote,keeplocal,force_delete,notag,nobackmerge,squash,squash-info,tagname:,help,noshowcommands,nofetch,nosign,nopush,nokeep,nokeepremote,nokeeplocal,noforce_delete,nonotag,nonobackmerge,nosquash,nosquash-info -- -n testbranch ''
+ __flags_opts=' -n -- '\''testbranch'\'' '\'''\'''
+ _flags_rtrn_=0
+ '[' 0 -ne 0 ']'
+ unset _flags_boolOpts_ _flags_longOpts_ _flags_rtrn_ _flags_shortOpts_
+ return 0
+ flags_return=0
+ '[' 0 -eq 0 ']'
+ _flags_parseGetopt 3 ' -n -- '\''testbranch'\'' '\'''\'''
+ _flags_argc_=3
+ shift
+ flags_return=0
+ '[' 1 -ne 1 ']'
+ eval set -- ' -n -- '\''testbranch'\'' '\'''\'''
++ set -- -n -- testbranch ''
++ _flags_math '4 - 1 - 3'
++ '[' 1 -eq 0 ']'
++ _flags_useBuiltin
++ return 0
++ _flags_expr_='$(($@))'
++ eval echo '$(($@))'
+++ echo 0
++ flags_return=0
++ unset _flags_expr_
++ return 0
+ FLAGS_ARGC=0
+ true
+ _flags_opt_=-n
+ _flags_arg_=--
+ _flags_type_=0
+ _flags_name_=
+ case "${_flags_opt_}" in
+ _flags_useBuiltin
+ return 0
+ _flags_opt_=n
+ _flags_len_=0
+ _flags_itemInList n '~' F s u m f p k '~' '~' D n b S '~' T h
+ _flags_str_=n
+ shift
+ _flags_list_=' ~ F s u m f p k ~ ~ D n b S ~ T h '
+ case ${_flags_list_} in
+ flags_return=0
+ unset _flags_str_ _flags_list_
+ return 0
++ echo ' ~ F s u m f p k ~ ~ D n b S ~ T h '
++ awk 'BEGIN{RS=" ";rn=0}$0==e{rn=NR}END{print rn}' e=n
+ _flags_pos_=13
++ echo ' showcommands fetch sign signingkey message messagefile push keep keepremote keeplocal force_delete notag nobackmerge squash squash-info tagname help '
++ awk 'BEGIN{RS=" "}rn==NR{print $0}' rn=13
+ _flags_name_=notag
+ '[' -z notag ']'
++ _flags_removeExclamationName notag
++ _flags_opt_=notag
++ _flags_isNegate notag
++ case $1 in
++ flags_return=0
++ return 0
++ echo notag
++ unset _flags_opt_
++ return 0
+ _flags_usName_=notag
++ _flags_underscoreName notag
++ echo notag
++ tr - _
+ _flags_usName_=notag
+ '[' 0 -eq 0 ']'
++ _flags_getFlagInfo notag type
++ _flags_gFI_usName_=notag
++ _flags_gFI_info_=type
++ _flags_infoVar_=__flags_notag_type
++ _flags_strToEval_='_flags_infoValue_="${__flags_notag_type:-}"'
++ eval '_flags_infoValue_="${__flags_notag_type:-}"'
+++ _flags_infoValue_=1
++ '[' -n 1 ']'
++ flags_return=0
++ echo 1
++ unset _flags_gFI_usName_ _flags_gfI_info_ _flags_infoValue_ _flags_infoVar_ _flags_strToEval_ _flags_typeValue_ _flags_typeVar_
++ '[' 0 -eq 2 ']'
++ return 0
+ _flags_type_=1
+ case ${_flags_type_} in
+ '[' 0 -eq 1 ']'
+ _flags_strToEval_='_flags_val_=${__flags_notag_default}'
+ eval '_flags_val_=${__flags_notag_default}'
++ _flags_val_=1
+ '[' 1 -eq 1 ']'
+ eval FLAGS_notag=0
++ FLAGS_notag=0
+ '[' notag = help ']'
+ shift
+ '[' 1 '!=' 1 ']'
+ true
+ _flags_opt_=--
+ _flags_arg_=testbranch
+ _flags_type_=0
+ _flags_name_=
+ case "${_flags_opt_}" in
+ shift
+ break
+ FLAGS_ARGV=
+ '[' 2 -gt 0 ']'
+ FLAGS_ARGV=''\''testbranch'\'''
+ shift
+ '[' 1 -gt 0 ']'
+ FLAGS_ARGV=''\''testbranch'\'' '\'''\'''
+ shift
+ '[' 0 -gt 0 ']'
+ unset _flags_arg_ _flags_len_ _flags_name_ _flags_opt_ _flags_pos_ _flags_strToEval_ _flags_type_ _flags_usName_ _flags_val_ _flags_argc_
+ return 0
+ flags_return=0
+ '[' 0 -eq 2 ']'
+ return 0
+ eval set -- ''\''testbranch'\'' '\'''\'''
++ set -- testbranch ''
+ '[' -z testbranch ']'
+ VERSION=testbranch
+ BRANCH=hotfix/testbranch
+ '[' testbranch = '' ']'
+ '[' '' '!=' '' ']'
+ TAGNAME=testbranch
+ remotebranchdeleted=1
+ localbranchdeleted=1
+ '[' '' '!=' '' ']'
+ flag keepremote
+ local FLAG
+ eval 'FLAG=$FLAGS_keepremote'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ require_branch hotfix/testbranch
+ git_branch_exists hotfix/testbranch
+ '[' -n hotfix/testbranch ']'
+ git_local_branch_exists hotfix/testbranch
+ '[' -n hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/hotfix/testbranch
+ '[' -n hotfix/testbranch ']'
+ require_clean_working_tree
+ local result
+ git_is_clean_working_tree
+ git rev-parse --verify HEAD
+ git update-index -q --ignore-submodules --refresh
+ git diff-files --quiet --ignore-submodules
+ git diff-index --cached --quiet --ignore-submodules HEAD --
+ return 0
+ result=0
+ '[' 0 -eq 1 ']'
+ '[' 0 -eq 2 ']'
++ gitflow_config_get_base_branch hotfix/testbranch
++ local branch
++ branch=hotfix/testbranch
+++ git config --local --get gitflow.branch.hotfix/testbranch.base
++ echo master
+ BASE_BRANCH=master
+ BASE_BRANCH=master
+ git_local_branch_exists master
+ '[' -n master ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/master
+ '[' -n master ']'
+ git_remote_branch_exists origin/hotfix/testbranch
+ '[' -n origin/hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/hotfix/testbranch
+ '[' -n '' ']'
+ flag fetch
+ local FLAG
+ eval 'FLAG=$FLAGS_fetch'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git_remote_branch_exists origin/hotfix/testbranch
+ '[' -n origin/hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/hotfix/testbranch
+ '[' -n '' ']'
+ git_remote_branch_exists origin/master
+ '[' -n origin/master ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/master
+ '[' -n origin/master ']'
+ require_branches_equal master origin/master
+ local compare_refs_result
+ require_local_branch master
+ git_local_branch_exists master
+ '[' -n master ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/master
+ '[' -n master ']'
+ require_remote_branch origin/master
+ git_remote_branch_exists origin/master
+ '[' -n origin/master ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/master
+ '[' -n origin/master ']'
+ git_compare_refs master origin/master
+ local commit1 commit2 base
++ git rev-parse 'master^{}'
+ commit1=7a04355c895f9df453b936262d62c91550c64e14
++ git rev-parse 'origin/master^{}'
+ commit2=7a04355c895f9df453b936262d62c91550c64e14
+ '[' 7a04355c895f9df453b936262d62c91550c64e14 '!=' 7a04355c895f9df453b936262d62c91550c64e14 ']'
+ return 0
+ compare_refs_result=0
+ '[' 0 -gt 0 ']'
+ '[' master = master ']'
+ git_remote_branch_exists origin/develop
+ '[' -n origin/develop ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/develop
+ '[' -n origin/develop ']'
+ require_branches_equal develop origin/develop
+ local compare_refs_result
+ require_local_branch develop
+ git_local_branch_exists develop
+ '[' -n develop ']'
++ git for-each-ref '--format=%(refname:short)' refs/heads/develop
+ '[' -n develop ']'
+ require_remote_branch origin/develop
+ git_remote_branch_exists origin/develop
+ '[' -n origin/develop ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/develop
+ '[' -n origin/develop ']'
+ git_compare_refs develop origin/develop
+ local commit1 commit2 base
++ git rev-parse 'develop^{}'
+ commit1=a59e07efaf384b3f67b38d4d4d6e4508a7fa2c19
++ git rev-parse 'origin/develop^{}'
+ commit2=a59e07efaf384b3f67b38d4d4d6e4508a7fa2c19
+ '[' a59e07efaf384b3f67b38d4d4d6e4508a7fa2c19 '!=' a59e07efaf384b3f67b38d4d4d6e4508a7fa2c19 ']'
+ return 0
+ compare_refs_result=0
+ '[' 0 -gt 0 ']'
+ git_is_branch_merged_into hotfix/testbranch master
+ local merge_hash base_hash
++ git merge-base 'hotfix/testbranch^{}' 'master^{}'
+ merge_hash=7a04355c895f9df453b936262d62c91550c64e14
++ git rev-parse 'hotfix/testbranch^{}'
+ base_hash=61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9
+ '[' 7a04355c895f9df453b936262d62c91550c64e14 = 61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9 ']'
+ git_compare_refs hotfix/testbranch master
+ local commit1 commit2 base
++ git rev-parse 'hotfix/testbranch^{}'
+ commit1=61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9
++ git rev-parse 'master^{}'
+ commit2=7a04355c895f9df453b936262d62c91550c64e14
+ '[' 61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9 '!=' 7a04355c895f9df453b936262d62c91550c64e14 ']'
++ git merge-base 61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9 7a04355c895f9df453b936262d62c91550c64e14
+ base=7a04355c895f9df453b936262d62c91550c64e14
+ '[' 0 -ne 0 ']'
+ '[' 61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9 = 7a04355c895f9df453b936262d62c91550c64e14 ']'
+ '[' 7a04355c895f9df453b936262d62c91550c64e14 = 7a04355c895f9df453b936262d62c91550c64e14 ']'
+ return 2
+ case $? in
+ noflag notag
+ local FLAG
+ eval 'FLAG=$FLAGS_notag'
++ FLAG=0
+ '[' 0 -ne 0 ']'
+ run_pre_hook testbranch origin hotfix/testbranch
+ local scriptfile exitcode
+ scriptfile=C:/Projets/TestProject/.git/hooks/pre-flow-hotfix-finish
+ exitcode=0
+ '[' -x C:/Projets/TestProject/.git/hooks/pre-flow-hotfix-finish ']'
+ git_is_branch_merged_into hotfix/testbranch master
+ local merge_hash base_hash
++ git merge-base 'hotfix/testbranch^{}' 'master^{}'
+ merge_hash=7a04355c895f9df453b936262d62c91550c64e14
++ git rev-parse 'hotfix/testbranch^{}'
+ base_hash=61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9
+ '[' 7a04355c895f9df453b936262d62c91550c64e14 = 61bf1eb6429b350fe5b433b3fa3e80c2ff9a4de9 ']'
+ git_do checkout master
+ flag showcommands
+ local FLAG
+ eval 'FLAG=$FLAGS_showcommands'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
+ noflag squash
+ local FLAG
+ eval 'FLAG=$FLAGS_squash'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ git_do merge --no-ff hotfix/testbranch
+ flag showcommands
+ local FLAG
+ eval 'FLAG=$FLAGS_showcommands'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git merge --no-ff hotfix/testbranch
hint: Waiting for your editor to close the file...
[main 2020-01-30T09:30:20.479Z] update#setState idle
Merge made by the 'recursive' strategy.
 www/www_front/tpl_web/it/svcWwwFront/tuto_cat.tpl | 1 +
 1 file changed, 1 insertion(+)
+ noflag notag
+ local FLAG
+ eval 'FLAG=$FLAGS_notag'
++ FLAG=0
+ '[' 0 -ne 0 ']'
+ '[' master = master ']'
+ noflag nobackmerge
+ local FLAG
+ eval 'FLAG=$FLAGS_nobackmerge'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ MERGE_BRANCH=master
+ git_is_branch_merged_into master develop
+ local merge_hash base_hash
++ git merge-base 'master^{}' 'develop^{}'
+ merge_hash=7a04355c895f9df453b936262d62c91550c64e14
++ git rev-parse 'master^{}'
+ base_hash=09779f4604493b6c8b6a874192ef3d9ede8a1545
+ '[' 7a04355c895f9df453b936262d62c91550c64e14 = 09779f4604493b6c8b6a874192ef3d9ede8a1545 ']'
+ git_do checkout develop
+ flag showcommands
+ local FLAG
+ eval 'FLAG=$FLAGS_showcommands'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git checkout develop
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.
+ noflag nobackmerge
+ local FLAG
+ eval 'FLAG=$FLAGS_nobackmerge'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ noflag notag
+ local FLAG
+ eval 'FLAG=$FLAGS_notag'
++ FLAG=0
+ '[' 0 -ne 0 ']'
+ commit=master
+ git_do merge --no-ff master
+ flag showcommands
+ local FLAG
+ eval 'FLAG=$FLAGS_showcommands'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git merge --no-ff master
hint: Waiting for your editor to close the file...
[main 2020-01-30T09:30:28.237Z] update#setState idle
Merge made by the 'recursive' strategy.
 www/www_front/tpl_web/it/svcWwwFront/tuto_cat.tpl | 1 +
 1 file changed, 1 insertion(+)
+ run_post_hook testbranch origin hotfix/testbranch
+ local scriptfile
+ scriptfile=C:/Projets/TestProject/.git/hooks/post-flow-hotfix-finish
+ '[' -x C:/Projets/TestProject/.git/hooks/post-flow-hotfix-finish ']'
+ flag push
+ local FLAG
+ eval 'FLAG=$FLAGS_push'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ noflag keep
+ local FLAG
+ eval 'FLAG=$FLAGS_keep'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ noflag keepremote
+ local FLAG
+ eval 'FLAG=$FLAGS_keepremote'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ git_remote_branch_exists origin/hotfix/testbranch
+ '[' -n origin/hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/hotfix/testbranch
+ '[' -n '' ']'
+ noflag keeplocal
+ local FLAG
+ eval 'FLAG=$FLAGS_keeplocal'
++ FLAG=1
+ '[' 1 -ne 0 ']'
++ git_current_branch
++ local branch_name
+++ git symbolic-ref --quiet HEAD
++ branch_name=refs/heads/develop
++ '[' -z refs/heads/develop ']'
+++ git for-each-ref '--format=%(refname:short)' refs/heads/develop
++ branch_name=develop
++ echo develop
+ '[' hotfix/testbranch = develop ']'
+ flag force_delete
+ local FLAG
+ eval 'FLAG=$FLAGS_force_delete'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git_do branch -d hotfix/testbranch
+ flag showcommands
+ local FLAG
+ eval 'FLAG=$FLAGS_showcommands'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ git branch -d hotfix/testbranch
Deleted branch hotfix/testbranch (was 61bf1eb6).
+ localbranchdeleted=0
+ git_remote_branch_exists origin/hotfix/testbranch -a '!' git_local_branch_exists hotfix/testbranch
+ '[' -n origin/hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/hotfix/testbranch
+ '[' -n '' ']'
+ gitflow_config_remove_base_section hotfix/testbranch
+ local branch
+ branch=hotfix/testbranch
++ git_do config --local --remove-section gitflow.branch.hotfix/testbranch
+ echo

+ echo 'Summary of actions:'
Summary of actions:
+ flag fetch
+ local FLAG
+ eval 'FLAG=$FLAGS_fetch'
++ FLAG=1
+ '[' 1 -eq 0 ']'
+ echo '- Hotfix branch '\''hotfix/testbranch'\'' has been merged into '\''master'\'''
- Hotfix branch 'hotfix/testbranch' has been merged into 'master'
+ noflag notag
+ local FLAG
+ eval 'FLAG=$FLAGS_notag'
++ FLAG=0
+ '[' 0 -ne 0 ']'
+ '[' master = master ']'
+ '[' master = master ']'
+ echo '- Master branch '\''master'\'' has been back-merged into '\''develop'\'''
- Master branch 'master' has been back-merged into 'develop'
+ '[' master = testbranch ']'
+ '[' master = hotfix/testbranch ']'
+ noflag keep
+ local FLAG
+ eval 'FLAG=$FLAGS_keep'
++ FLAG=1
+ '[' 1 -ne 0 ']'
+ '[' 0 -eq 0 ']'
+ keepmsg='has been locally deleted'
+ '[' 1 -eq 0 ']'
+ git_remote_branch_exists origin/hotfix/testbranch
+ '[' -n origin/hotfix/testbranch ']'
++ git for-each-ref '--format=%(refname:short)' refs/remotes/origin/hotfix/testbranch
+ '[' -n '' ']'
+ echo '- Hotfix branch '\''hotfix/testbranch'\'' has' been locally deleted
- Hotfix branch 'hotfix/testbranch' has been locally deleted
+ flag push
+ local FLAG
+ eval 'FLAG=$FLAGS_push'
++ FLAG=1
+ '[' 1 -eq 0 ']'
++ git_current_branch
++ local branch_name
+++ git symbolic-ref --quiet HEAD
++ branch_name=refs/heads/develop
++ '[' -z refs/heads/develop ']'
+++ git for-each-ref '--format=%(refname:short)' refs/heads/develop
++ branch_name=develop
++ echo develop
+ echo '- You are now on branch '\''develop'\'''
- You are now on branch 'develop'
+ echo
`
dscho commented 4 years ago

Shell scripts do run slow in Git for Windows. Part of it is that many processes are spawned (for which Windows is not optimized, it is much more optimized for running multi-threaded software), part is that antimalware usually adds insult to injury. You might be able to accelerate git flow by adding an exception to Defender et al so that they do not scan bash.exe all the time.

angelodiego commented 4 years ago

Shell scripts do run slow in Git for Windows. Part of it is that many processes are spawned (for which Windows is not optimized, it is much more optimized for running multi-threaded software), part is that antimalware usually adds insult to injury. You might be able to accelerate git flow by adding an exception to Defender et al so that they do not scan bash.exe all the time.

Unfortunately Bash is already ignored by f-sercure (windows defender is not active). I understant that bash is slow but it looks suspicious that the setup part takes such an insane amount of time, there is virtually no disc access or anything like it that could justify such a slow process, am I the only one experiencing this kind of problems with git flow?

dscho commented 3 years ago

Closing stale ticket.