Subject: Re: [PATCH 6/7] walk PATH to generate list of commands for "help -a"

From: Scott Parish <[email-masked]>
Date: Thu, 25 Oct 2007 00:07:45 -0700

On Wed, Oct 24, 2007 at 10:33:32PM -0700, Junio C Hamano wrote:

> > Well, the ultimate reason that i've been working on all of this is
> > i'd like to push git as a viable development tool where i work. To
> > give an effective idea, lets say that shared tools get placed on
> > nfs servers, which can be mounted to different paths depending on
> > which nfs server is up or down or which system is the nfs client.
> 
> It sounds to me that your nfs client systems might find what
> people usually expect in /usr/local/bin not there but on
> /mnt/random47/bin depending on the system, without a reasonable
> system administration effort that places stable symlinks to give
> end users a consistent view of the world regardless from which
> client, which sounds insane.  I personally do not think we
> should support lazy system administrators by making git unsafe.

Well, the exact details are completely fictitious, made up to
illustrate the situation without breaking confidential agreements.
I'm not sure i completely agree with the design, but there are good
reasons for it, and at this point i have little or no control over
it.

> >> It may be nicer if the user can somehow tell from the output if
> >> each of the command is from the standard set (i.e. on
> >> GIT_EXEC_PATH or built-in), or from a non standard place (either
> >> custom command as intended, or an unintended obsolete leftover).
> >
> > What if git marked commands that weren't found in the location where
> > it thinks that it is running from?
> 
> Currently "git help -a" says "available in $where" at the top.
> Perhaps make a separate list that is listed as "available from
> elsewhere" and show the ones that are on PATH but not masked by
> the ones on GIT_EXEC_PATH?
> 
>     git commands available in '/home/junio/git-next/bin'
>     ----------------------------------------------------
>       add                 gui                 rebase--interactive
>       add--interactive    hash-object         receive-pack
>       ...
> 
>     git commands available from elsewhere on your $PATH
>     ----------------------------------------------------
>       frotz               nitfol

Nice! I'll try doing that, probably won't have time to finish until
later tomorrow.

sRp

-- 
Scott Parish
http://srparish.net/