From: Carsten Mattner Date: Sun, 20 May 2012 17:27:20 GMT Subject: Re: [PATCH 0/2] completion: backwards compatibility fix Message-ID: In-Reply-To: On Sun, May 20, 2012 at 12:28 PM, Felipe Contreras wrote: > On Sun, May 20, 2012 at 11:02 AM, Carsten Mattner > wrote: >> On Sat, May 19, 2012 at 4:41 AM, Felipe Contreras >> wrote: >>> Hi, >>> >>> These two patches are meant to fix the backwards compatibility of _git, and >>> _gitk. This also helps my zsh's wrapper. >>> >>> Felipe Contreras (2): >>>  completion: rename _git and _gitk >>>  completion: add support for backwards compatibilit >>> >>>  contrib/completion/git-completion.bash |   22 +++++++++++++++++----- >>>  t/t9902-completion.sh                  |    2 +- >>>  2 files changed, 18 insertions(+), 6 deletions(-) >>> >>> -- >>> 1.7.10.2 >>> >> >> Thanks Felipe. With the 2 patches applied all the following >> completion definitions work. >> >> complete -o bashdefault -o default -o nospace -F _git g 2>/dev/null \ >>   || complete -o default -o nospace -F _git g >> __git_complete g _git >> __git_complete g _main_git >> >> Ignoring backwards compatibility, which one would you suggest >> I use? Keep in mind that I originally copied the first >> long completion defintion from git-completion.bash a long time >> ago. > > I would use '__git_complete g _git', but keep in mind that none of > these forms have a promise to stay. Eventually the final one would be > '_GIT_complete g _git' (hopefully), but if you want to be safe from > changes maybe the first (original) would be best; even though there's > no promise it won't break, we would probably try our best not to break > it (again). What about adding a small note at the top of the completion script together with the other documentation? Does it make sense to keep the known to work and public invocation in there? > BTW. If your system has the '-o bashdefault' option you probably don't > need the full form, just: > % complete -o bashdefault -o default -o nospace -F _git g > > Or if your system doesn't: > % complete -o default -o nospace -F _git g I like the short versions. They seem to work.