Re: [PATCH v2 0/3] nd/clear-gitenv-upon-use-of-alias
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Dec 24, 2015, 09:35 UTC
- Message-ID
- <CACsJy8Aqu9wTigWKC1-74qLUimV8PvmbDG1XeqYcbW0ZSMLSTg@mail.gmail.com>
- In-Reply-To
- <20151223213140.GB21277@sigill.intra.peff.net>
On Thu, Dec 24, 2015 at 4:31 AM, Jeff King <peff@peff.net> wrote:
> 2. I doubt anybody is actually seeing this in practice anymore. But > maybe I am misunderstanding something in Duy's series that changes > this.
There are two parts in your patch, one (that you two seemed to focus on) about return code with "!" aliases. Another, suppressing SIGPIPE, affects more than "!" aliases. In my case it's execv_dashed_external(). Non-"!" aliases are now forced to use that function.
This is the output with 'pu'. Notice git-log is executed separately
> ~/w/git $ GIT_TRACE=2 PAGER=true ./git --exec-path=. l
16:28:19.167040 git.c:567 trace: exec: 'git-l' 16:28:19.167088 run-command.c:345 trace: run_command: 'git-l' 16:28:19.168599 git.c:286 trace: alias expansion: l => 'log' '--stat' 16:28:19.168633 git.c:567 trace: exec: 'git-log' '--stat' 16:28:19.168649 run-command.c:345 trace: run_command: 'git-log' '--stat' 16:28:19.170420 git.c:350 trace: built-in: git 'log' '--stat' 16:28:19.210074 run-command.c:345 trace: run_command: 'true' 16:28:19.210382 run-command.c:204 trace: exec: 'true' error: git-log died of signal 13
With your patch on top, "git-log died of.." goes away. And this is with 'master', where the builtin version of git-log is used
> ~/w/git $ GIT_TRACE=2 PAGER=true ./git --exec-path=. l
16:29:17.546382 git.c:561 trace: exec: 'git-l' 16:29:17.546428 run-command.c:343 trace: run_command: 'git-l' 16:29:17.547485 git.c:282 trace: alias expansion: l => 'log' '--stat' 16:29:17.548482 git.c:348 trace: built-in: git 'log' '--stat' 16:29:17.586457 run-command.c:343 trace: run_command: 'true' 16:29:17.586770 run-command.c:202 trace: exec: 'true'
So, in practice, people will see "died of signal 13" a lot more often if my series is merged and released (I assume that people often use aliases for paged commands like git-log, git-diff...)
-- Duy