Subject: Re: git's directory is _prepended_ to PATH when called with an absolute path

From: David Rodríguez <[email-masked]>
Date: Wed, 22 Apr 2015 08:36:00 -0300

On 22/04/15 02:47, Andreas Krey wrote:
> On Tue, 21 Apr 2015 18:37:29 +0000, David Rodríguez wrote:
> ...
>> This causes issues with Ruby git hooks, because Ruby version managers
>> rely on custom settings in PATH to select the Ruby executable,
> Even if git wouldn't modify PATH this is still a broken way to do that.
> What ruby to execute a hook with is a property of the hook, not of the
> user context invoking it.
>
> Andreas
>
I probably shouldn't have mentioned Ruby version managers since they are 
not directly related to this issue. I'll try to elaborate on the issue:

* User is relying on a custom path to select their Ruby version. For 
example, let's say the first folder in path is "~/.rubies/2.2.2/bin".
* User runs "/usr/bin/git commit" and a pre-commit hook is triggered.
* The pre-commit hook starts with "#!/us/bin/env ruby" to select the 
Ruby to be used in the hook, but since the path has been changed by 
"/usr/bin/git", the selected ruby will be "/usr/bin/ruby" and not 
"~/.rubies/2.2.2/bin/ruby" as the user would expect.

What's the proper way to do whatever you're saying is done in "a broken 
way"?