threads / discuss / 20299

exec-path behavior

Subject: exec-path behavior

## tl;dr

2 messages between Jul 30, 2009 and Jul 30, 2009.

replies: 1people: 2as markdown or json

Jeffrey Middleton· Jul 30, 2009, 17:00 UTC · lore

I'm wondering about the intended behavior of the --exec-path/GIT_EXEC_PATH option - is it supposed to override or add to the built-in path?  It seems to do some of both.

$ git --exec-path=foo rebase git: 'rebase' is not a git-command. See 'git --help'.

but:

$ git --exec-path=foo status # On branch master nothing to commit (working directory clean)

There are plenty of commands in each category, and it's not immediately obvious to me what criteria separate them.  Not a huge problem, since it's easy enough to use --exec-path=foo:<normal-path>, but I was in the process of adding support for exec-path to the bash completion, and it's an important distinction there - and much easier if it adds to the built-in, of course.

Thanks, Jeffrey

Sean Estabrooks· Jul 30, 2009, 17:48 UTC · re: Jeffrey Middleton · lore

Re: exec-path behavior

On Thu, 30 Jul 2009 12:00:29 -0500 Jeffrey Middleton <jefromi@gmail.com> wrote:

> I'm wondering about the intended behavior of the
> --exec-path/GIT_EXEC_PATH option - is it supposed to override or add
> to the built-in path?  It seems to do some of both.
[...]
Show 6 quoted lines
> There are plenty of commands in each category, and it's not
> immediately obvious to me what criteria separate them.  Not a huge
> problem, since it's easy enough to use --exec-path=foo:<normal-path>,
> but I was in the process of adding support for exec-path to the bash
> completion, and it's an important distinction there - and much easier
> if it adds to the built-in, of course.
Jeffrey,

The commands that are "built-in" and compiled into the git executable will execute because no searching of the exec-path is necessary. Any commands that are compiled into a separate executable will fail since git can not find them in the incorrect exec-path directory.

If you take a listing of the exec-path directory on your system you'll see that many commands are hard-linked to the single "git" executable. The commands that aren't linked to git are external and will be those that fail when you supply an erroneous exec-path.

Sean

← back to recent threads