git: avoid calling aliased builtins via their dashed form
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 29 Jul 2019 20:08:16 +0000 (13:08 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 29 Jul 2019 21:51:43 +0000 (14:51 -0700)
This is one of the few places where Git violates its own deprecation of
the dashed form. It is not necessary, either.

As of 595d59e2b53 (git.c: ignore pager.* when launching builtin as
dashed external, 2017-08-02), Git wants to ignore the pager.* config
setting when expanding aliases. So let's strip out the
check_pager_config(<command-name>) call from the copy-edited code.

This code actually made it into upstream git.git already, but it was
disabled in `#if 0 ... #endif` guards so far.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git.c

diff --git a/git.c b/git.c
index f4c0478..3049dae 100644 (file)
--- a/git.c
+++ b/git.c
@@ -743,8 +743,6 @@ static int run_argv(int *argcp, const char ***argv)
                 */
                if (!done_alias)
                        handle_builtin(*argcp, *argv);
-
-#if 0 // TODO In GFW, need to amend a7924b655e940b06cb547c235d6bed9767929673 to include trace2_ and _tr2 lines.
                else if (get_builtin(**argv)) {
                        struct argv_array args = ARGV_ARRAY_INIT;
                        int i;
@@ -779,7 +777,6 @@ static int run_argv(int *argcp, const char ***argv)
                                exit(i);
                        die("could not execute builtin %s", **argv);
                }
-#endif // a7924b655e940b06cb547c235d6bed9767929673
 
                /* .. then try the external ones */
                execv_dashed_external(*argv);