# Ramifications of a git-sh-setup outside the PATH

2 messages from 2008-06-27 to 2008-06-28. Participants: Jonathan Nieder, Alex Riesen.
Thread: https://gitlist.dev/t/14189

## Jonathan Nieder, 2008-06-27 19:00

Subject: Ramifications of a git-sh-setup outside the PATH
Message-ID: <20080627140027.BIA12244@m4500-01.uchicago.edu>
URL: https://gitlist.dev/e/20080627140027.BIA12244%40m4500-01.uchicago.edu

```
Hi gitsters,

I noticed in the release notes to Git 1.6.0 that dashed-form commands
are moving to a libexecdir outside the PATH. I have been using Git
with nd/dashless applied for about a month, and it does work well
(thanks!). There was one little glitch: to use hg-fast-export.sh from
fast-export.git (of repo.or.cz), I had to put git-sh-setup in the PATH.

I wanted to just change the ". git-sh-setup" line to ". git sh-setup",
but of course that will not work. Am I missing something?

hg-fast-export uses git-sh-setup to handle --help, to provide the
cd_to_toplevel function, and to set GIT_DIR. It would not take much
work to avoid using git-sh-setup, although for my needs it was easier
to put git-sh-setup in the PATH. But really, the use of git-sh-setup
does not seem strange to me at all. Is use of git-sh-setup in scripts
outside Git core discouraged?

The location of git-sh-setup was discussed before in the thread
<http://thread.gmane.org/gmane.comp.version-control.git/33708>.
Thanks for your time, and thank you for Git!

Sincerely,
Jonathan

```

## Alex Riesen, 2008-06-28 12:01

Subject: Re: Ramifications of a git-sh-setup outside the PATH
Message-ID: <20080628120121.GB3489@steel.home>
URL: https://gitlist.dev/e/20080628120121.GB3489%40steel.home
In-Reply-To: <20080627140027.BIA12244@m4500-01.uchicago.edu>

```
Jonathan Nieder, Fri, Jun 27, 2008 21:00:27 +0200:
> Hi gitsters,
> 
> I noticed in the release notes to Git 1.6.0 that dashed-form commands
> are moving to a libexecdir outside the PATH. I have been using Git
> with nd/dashless applied for about a month, and it does work well
> (thanks!). There was one little glitch: to use hg-fast-export.sh from
> fast-export.git (of repo.or.cz), I had to put git-sh-setup in the PATH.
> 
> I wanted to just change the ". git-sh-setup" line to ". git sh-setup",
> but of course that will not work. Am I missing something?

Try

    . "$(git --exec-path)/git-sh-setup"

"git-sh-setup" is not a command, but a Bourne Shell script you can use
in your scripts by including it. So ". git sh-setup" just tries to
_include_ file "git" (and will try $PATH and current directory) with
positional argument "sh-setup" (see man 1 bash, for example).

```
