threads / discuss / 11130

git help error

Subject: git help error

## tl;dr

8 messages between Dec 4, 2007 and Dec 6, 2007.

replies: 7people: 6as markdown or json

Aneesh Kumar· Dec 4, 2007, 16:26 UTC · lore
git help gives me the below error.

[master@git]$ git help add No manual entry for git-add See 'man 7 undocumented' for help when manual pages are not available. [master@git]$

I have the git binaries installed via --prefix

./configure --prefix=/home/kvaneesh/bin-local/git/ and to see the man page i have to say

man -M /home/kvaneesh/bin-local/git/share/man/
I guess git-help need to take care of the prefix.
-aneesh
Junio C Hamano· Dec 4, 2007, 17:55 UTC · re: Aneesh Kumar · lore

Re: git help error

"Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
Show 15 quoted lines
> git help gives me the below error.
>
> [master@git]$ git help add
> No manual entry for git-add
> See 'man 7 undocumented' for help when manual pages are not available.
> [master@git]$
>
> I have the git binaries installed via --prefix
>
> ./configure --prefix=/home/kvaneesh/bin-local/git/
> and to see the man page i have to say
>
> man -M /home/kvaneesh/bin-local/git/share/man/
>
> I guess git-help need to take care of the prefix.
When you run "man" from the command line, can you say
     $ man git-add

and make it work? If it fails the same way, then what you are missing is MANPATH environment variable, isn't it?

Sergei Organov· Dec 4, 2007, 18:33 UTC · re: Junio C Hamano · lore

Re: git help error

Junio C Hamano <gitster@pobox.com> writes:
Show 24 quoted lines
> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
>
>> git help gives me the below error.
>>
>> [master@git]$ git help add
>> No manual entry for git-add
>> See 'man 7 undocumented' for help when manual pages are not available.
>> [master@git]$
>>
>> I have the git binaries installed via --prefix
>>
>> ./configure --prefix=/home/kvaneesh/bin-local/git/
>> and to see the man page i have to say
>>
>> man -M /home/kvaneesh/bin-local/git/share/man/
>>
>> I guess git-help need to take care of the prefix.
>
> When you run "man" from the command line, can you say
>
>      $ man git-add
>
> and make it work?  If it fails the same way, then what you are missing
> is MANPATH environment variable, isn't it?

I think what the OP asked for makes sense. git-help should better find corresponding version of manual pages automatically. This way, if one invokes different versions of git-help, he will get corresponding version of help text.

-- 
Sergei.
Junio C Hamano· Dec 4, 2007, 19:40 UTC · re: Sergei Organov · lore

Re: git help error

Sergei Organov <osv@javad.com> writes:
Show 28 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
>>
>>> git help gives me the below error.
>>>
>>> [master@git]$ git help add
>>> No manual entry for git-add
>>> See 'man 7 undocumented' for help when manual pages are not available.
>>> [master@git]$
>>>
>>> I have the git binaries installed via --prefix
>>>
>>> ./configure --prefix=/home/kvaneesh/bin-local/git/
>>> and to see the man page i have to say
>>>
>>> man -M /home/kvaneesh/bin-local/git/share/man/
>> ...
>> When you run "man" from the command line, can you say
>>
>>      $ man git-add
>>
>> and make it work?  If it fails the same way, then what you are missing
>> is MANPATH environment variable, isn't it?
>
> I think what the OP asked for makes sense. git-help should better find
> corresponding version of manual pages automatically. This way, if one
> invokes different versions of git-help, he will get corresponding
> version of help text.

I do not necessarily agree. Read what Aneesh wrote originally again, and read what he _didn't_ write.

Not only he needs to run his "man" with -M (and my point was that it is not the only way, by the way), he needs to futz with his $PATH to include $HOME/bin-local/git for _his_ installation to work.

I think my suggestion to use $MANPATH is in line with what he is already doing. If you install things in non-standard places, you can use environments to adjust to what you did, and that's the reason PATH and MANPATH environments are supported by your tools.

Having said that, I do not mind accepting a patch that prepends the nonlocal path to MANPATH in help.c::show_man_page().

Luciano Rocha· Dec 4, 2007, 19:47 UTC · re: Junio C Hamano · lore

Re: git help error

On Tue, Dec 04, 2007 at 11:40:15AM -0800, Junio C Hamano wrote:
Show 45 quoted lines
> Sergei Organov <osv@javad.com> writes:
> 
> > Junio C Hamano <gitster@pobox.com> writes:
> >> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
> >>
> >>> git help gives me the below error.
> >>>
> >>> [master@git]$ git help add
> >>> No manual entry for git-add
> >>> See 'man 7 undocumented' for help when manual pages are not available.
> >>> [master@git]$
> >>>
> >>> I have the git binaries installed via --prefix
> >>>
> >>> ./configure --prefix=/home/kvaneesh/bin-local/git/
> >>> and to see the man page i have to say
> >>>
> >>> man -M /home/kvaneesh/bin-local/git/share/man/
> >> ...
> >> When you run "man" from the command line, can you say
> >>
> >>      $ man git-add
> >>
> >> and make it work?  If it fails the same way, then what you are missing
> >> is MANPATH environment variable, isn't it?
> >
> > I think what the OP asked for makes sense. git-help should better find
> > corresponding version of manual pages automatically. This way, if one
> > invokes different versions of git-help, he will get corresponding
> > version of help text.
> 
> I do not necessarily agree.  Read what Aneesh wrote originally again,
> and read what he _didn't_ write.
> 
> Not only he needs to run his "man" with -M (and my point was that it is
> not the only way, by the way), he needs to futz with his $PATH to
> include $HOME/bin-local/git for _his_ installation to work.
> 
> I think my suggestion to use $MANPATH is in line with what he is already
> doing.  If you install things in non-standard places, you can use
> environments to adjust to what you did, and that's the reason PATH and
> MANPATH environments are supported by your tools.
> 
> Having said that, I do not mind accepting a patch that prepends the
> nonlocal path to MANPATH in help.c::show_man_page().

Actually, current man utilities locate the manual page by looking where the executable is, if MANPATH isn't defined (tested in Linux and Darwin).

So, "unset MANPATH; man git-add" should be sufficient.
-- 
lfr
0/0
David Kastrup· Dec 4, 2007, 19:50 UTC · re: Luciano Rocha · lore

Re: git help error

Luciano Rocha <strange@nsk.no-ip.org> writes:
Show 10 quoted lines
> On Tue, Dec 04, 2007 at 11:40:15AM -0800, Junio C Hamano wrote:
>
>> Having said that, I do not mind accepting a patch that prepends the
>> nonlocal path to MANPATH in help.c::show_man_page().
>
> Actually, current man utilities locate the manual page by looking where
> the executable is, if MANPATH isn't defined (tested in Linux and
> Darwin).
>
> So, "unset MANPATH; man git-add" should be sufficient.

That only works for paths registered in /etc/manpath.config (or an equivalent config file depending on system/distribution).

-- 
David Kastrup
Luciano Rocha· Dec 4, 2007, 20:06 UTC · re: David Kastrup · lore

Re: git help error

On Tue, Dec 04, 2007 at 08:50:41PM +0100, David Kastrup wrote:
Show 15 quoted lines
> Luciano Rocha <strange@nsk.no-ip.org> writes:
> 
> > On Tue, Dec 04, 2007 at 11:40:15AM -0800, Junio C Hamano wrote:
> >
> >> Having said that, I do not mind accepting a patch that prepends the
> >> nonlocal path to MANPATH in help.c::show_man_page().
> >
> > Actually, current man utilities locate the manual page by looking where
> > the executable is, if MANPATH isn't defined (tested in Linux and
> > Darwin).
> >
> > So, "unset MANPATH; man git-add" should be sufficient.
> 
> That only works for paths registered in /etc/manpath.config (or an
> equivalent config file depending on system/distribution).

Err, no. I doubt my ~/opt/noarch/.../...; ~/opt/`uname -i`/git/; etc., are pre-registered by my Linux distro or OS X 10.[45].

man man:
       If you specify the -M pathlist option, pathlist  is  a  colon-separated
       list of the directories that man searches.
       If  you  don’t specify -M but set the MANPATH environment variable, the
       value of that  variable  is  the  list  of  the  directories  that  man
       searches.
       If  you  don’t  specify  an  explicit path list with -M or MANPATH, man
       develops its own path list based on the contents of  the  configuration
       file /etc/man.config.  The MANPATH statements in the configuration file
       identify particular directories to include in the search path.
...
       In addition, for each directory in the command search path (we’ll  call
       it  a  "command  directory")  for  which  you do not have a MANPATH_MAP
       statement, man automatically looks for a manual page directory "nearby"
       namely as a subdirectory in the command directory itself or in the par-
       ent directory of the command directory.

So, according to the last paragraph, and assuming no -M argument and no MANPATH environment variable are defined, man should be able to find the manual pages for git commands if they're in PATH.

-- 
Luciano Rocha <luciano@eurotux.com>
Eurotux Informática, S.A. <http://www.eurotux.com/>
Sergei Organov· Dec 6, 2007, 18:36 UTC · re: Junio C Hamano · lore

Re: git help error

Junio C Hamano <gitster@pobox.com> writes:
Show 37 quoted lines
> Sergei Organov <osv@javad.com> writes:
>
>> Junio C Hamano <gitster@pobox.com> writes:
>>> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
>>>
>>>> git help gives me the below error.
>>>>
>>>> [master@git]$ git help add
>>>> No manual entry for git-add
>>>> See 'man 7 undocumented' for help when manual pages are not available.
>>>> [master@git]$
>>>>
>>>> I have the git binaries installed via --prefix
>>>>
>>>> ./configure --prefix=/home/kvaneesh/bin-local/git/
>>>> and to see the man page i have to say
>>>>
>>>> man -M /home/kvaneesh/bin-local/git/share/man/
>>> ...
>>> When you run "man" from the command line, can you say
>>>
>>>      $ man git-add
>>>
>>> and make it work?  If it fails the same way, then what you are missing
>>> is MANPATH environment variable, isn't it?
>>
>> I think what the OP asked for makes sense. git-help should better find
>> corresponding version of manual pages automatically. This way, if one
>> invokes different versions of git-help, he will get corresponding
>> version of help text.
>
> I do not necessarily agree.  Read what Aneesh wrote originally again,
> and read what he _didn't_ write.
>
> Not only he needs to run his "man" with -M (and my point was that it is
> not the only way, by the way), he needs to futz with his $PATH to
> include $HOME/bin-local/git for _his_ installation to work.

My point is that he doesn't need to tweak his $PATH, because he can simply say:

$ ~/bin-local/git/bin/git help add

Then, I'd expect that the manual page that is installed along with the version that

$ ~/bin-local/git/bin/git --version

reports is displayed, not any random version of git-add manual page found using default 'man' rules.

> I think my suggestion to use $MANPATH is in line with what he is already
> doing.  If you install things in non-standard places, you can use
> environments to adjust to what you did, and that's the reason PATH and
> MANPATH environments are supported by your tools.

Yes, but provided you have more than one version of git installed, it's inconvenient to tweak both PATH and MANPATH to use one or another. It would be more convenient and consistent if

$ ~/git.old/bin/git help add $ ~/git.new/bin/git help add

were render different versions of git-add manual page, each corresponding to the right version of git.

> Having said that, I do not mind accepting a patch that prepends the
> nonlocal path to MANPATH in help.c::show_man_page().
OK, patch will follow shortly.
-- 
Sergei.

← back to recent threads