From: Johannes Schindelin Date: Fri, 04 Sep 2009 10:32:17 GMT Subject: Re: [PATCH] git-completion.bash: prevent 'git help' from searching for git repository Message-ID: In-Reply-To: <4AA0E142.4080105@dawes.za.net> Hi, On Fri, 4 Sep 2009, Rogan Dawes wrote: > Sverre Rabbelier wrote: > > > On Wed, Sep 2, 2009 at 11:58, Gerrit Pape wrote: > >> + for i in $(git --git-dir=/nonexistent help -a|egrep '^ ') > > > > Wouldn't implementing "git --no-git-dir" be more appropriate? > > Or documenting which git commands do/don't require a git dir at all? This patch is not about documentation, but about preventing the auto-completion from trying to discover a Git repository (to prevent auto-mounting; although I wonder why you would run Git there if you do not want to auto-mount). > I assume that documenting those that don't would be better than > documenting those that do . . . It's not as easy as that: some commands, such as "ls-remote" do _not_ require one, but they take it into account (think "git ls-remote origin"). Other commands, such as "archive", have modes in which they _need_ a repository, and other modes where they do not even look for one. "git help -a" seems to be similar to the latter modes of "archive". > And by documenting, I mean in the code, so that the code can DTRT. > > Otherwise, having this switch lets people shoot themselves in the foot, > I'd think. Git offers plenty of opportunity to shoot yourself in the foot (and it does not help that we are introducing user-unfriendly constructs like the current form of the foreign VCS helpers with more such opportunities, either), but for the love of God, I cannot find how "this switch" lets people shoot themselves in the foot here. Ciao, Dscho