Re: [PATCH 5/5] run-command: Error out if interpreter not found
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:52:52
Frans Klaver wrote:
Just for my understanding: before a command is executed, a pager (less/more or so) is started? We want to avoid starting the pager if we won't be able to execute the command?
See [1] for an example of a recent patch touching the relevant
code path.
For example: if I run "git --paginate foo", foo is an alias for bar,
and the "[pager] bar" configuration is set to point to "otherpager",
then without this safety git launches the default pager in preparation
for running git-foo, receives ENOENT from execvp("git-foo"), and then
the pager has already been launched and it is too late to launch
otherpager instead.
On Fri, Jan 27, 2012 at 9:48 AM, Jonathan Nieder [off-list ref] wrote:
quoted
I want to like (b), but the downside seems unacceptable.The downside being: having to figure out what execvp is going to do? That would be tantamount to writing your own execvp.
Exactly.
quoted
I honestly don't know if something like (a) would be a good idea if well executed, so I was happy to have the opportunity to try to help massage these patches into a form that would make the answer more obvious.Given the above information, I'm happy to work on this
I see. Well, as I said, I don't know. :) And I don't want to give false hopes --- it's perfectly possible and not even unlikely that this is a dead end and any patch in this direction will turn out not to be a good idea and not applied. That's part of why I was really grateful to Hannes for the reminder to take a step back for a moment and consider whether it's worth it. Maybe there's another way or a more targetted way to take care of the motivational original confusing scenario that leads to execvp errors. (By the way, can you remind me which one that was?) Jonathan [1] http://thread.gmane.org/gmane.comp.version-control.git/179635