From: Jonathan Nieder <jrnieder@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Jeff King" <peff@peff.net>
Subject: Re: [PATCH 0/4] git --paginate: do not commit pager choice too early
Date: Wed, 14 Jul 2010 16:30:43 -0500 [thread overview]
Message-ID: <20100714213043.GA1590@burratino> (raw)
In-Reply-To: <7v630hyf5r.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> ... and for commands that do not use RUN_SETUP, what happens?
run_builtin() still commits pager choice. The bug is neither
fixed nor made worse for them.
> Missing from the above enumeration are are external commands. They depend
> on commit_pager_choice() to be called before execv_dashed_external() gets
> called. For example, "git -p request-pull $args" no longer works with
> this patch.
Something like the following may help.
This does not protect against calling setup_pager() more than
once. Once the first pager has been set up, isatty(1) is false,
preventing additional pagers from being spawned and competing with it.
As futureproofing against --paginate=always, setup_pager() should
probably be taught to check pager_in_use(), but that should
probably wait for a separate patch.
diff --git a/git.c b/git.c
index 25e7693..2dcd952 100644
--- a/git.c
+++ b/git.c
@@ -162,6 +162,7 @@ static int handle_alias(int *argcp, const char ***argv)
int unused_nongit;
subdir = setup_git_directory_gently(&unused_nongit);
+ commit_pager_choice();
alias_command = (*argv)[0];
alias_string = alias_lookup(alias_command);
@@ -433,6 +434,7 @@ static void execv_dashed_external(const char **argv)
int status;
strbuf_addf(&cmd, "git-%s", argv[0]);
+ commit_pager_choice();
/*
* argv[0] must be the git command, but the argv array
--
next prev parent reply other threads:[~2010-07-14 21:31 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-26 19:22 [PATCH 0/4] git --paginate: do not commit pager choice too early Jonathan Nieder
2010-06-26 19:23 ` [PATCH 1/4] t7006 (pager): introduce helper for parameterized tests Jonathan Nieder
2010-06-26 19:24 ` [PATCH 2/4] t7006: test pager configuration for several git commands Jonathan Nieder
2010-06-26 19:28 ` Jonathan Nieder
2010-06-26 19:25 ` [PATCH 3/4] tests: local config file should be honored from subdirs of toplevel Jonathan Nieder
2010-06-26 19:26 ` [PATCH 4/4] git --paginate: do not commit pager choice too early Jonathan Nieder
2010-06-28 9:40 ` [PATCH 0/4] " Jeff King
2010-06-28 10:13 ` Jonathan Nieder
2010-06-28 10:22 ` Jeff King
2010-06-28 12:45 ` Nguyen Thai Ngoc Duy
2010-06-29 5:42 ` Junio C Hamano
2010-07-14 20:36 ` Junio C Hamano
2010-07-14 21:30 ` Jonathan Nieder [this message]
2010-07-14 22:55 ` [PATCH] git --paginate: paginate external commands again Jonathan Nieder
2010-07-18 12:27 ` [PATCH 0/4] git --paginate: do not commit pager choice too early Nguyen Thai Ngoc Duy
2010-08-06 2:35 ` [PATCH jn/paginate-fix 0/12] " Jonathan Nieder
2010-08-06 2:40 ` [PATCH 01/12] git wrapper: introduce startup_info struct Jonathan Nieder
2010-08-06 2:46 ` [PATCH 02/12] setup: remember whether repository was found Jonathan Nieder
2010-08-06 2:52 ` [PATCH 03/12] git wrapper: allow setup_git_directory_gently() be called earlier Jonathan Nieder
2010-08-06 3:01 ` [PATCH 04/12] shortlog: run setup_git_directory_gently() sooner Jonathan Nieder
2010-08-06 3:06 ` [PATCH 05/12] grep: " Jonathan Nieder
2010-08-06 3:08 ` [PATCH 06/12] apply: " Jonathan Nieder
2010-08-15 20:13 ` Ævar Arnfjörð Bjarmason
2010-08-15 22:34 ` Nguyen Thai Ngoc Duy
2010-08-15 23:11 ` Jonathan Nieder
2010-08-16 0:36 ` [PATCH 06/12 v2] " Nguyễn Thái Ngọc Duy
2010-08-16 3:39 ` Junio C Hamano
2010-08-06 3:12 ` [PATCH 07/12] bundle: " Jonathan Nieder
2010-08-16 7:21 ` Thomas Rast
2010-08-16 8:07 ` Jonathan Nieder
2010-08-16 8:11 ` [PATCH 2/2] t7006 (pager): add missing TTY prerequisite Jonathan Nieder
2010-08-16 16:41 ` Junio C Hamano
2010-08-06 3:15 ` [PATCH 08/12] config: run setup_git_directory_gently() sooner Jonathan Nieder
2010-08-06 3:18 ` [PATCH 09/12] index-pack: " Jonathan Nieder
2010-08-06 3:20 ` [PATCH 10/12] ls-remote: " Jonathan Nieder
2010-08-06 3:21 ` [PATCH 11/12] var: " Jonathan Nieder
2010-08-06 3:27 ` [PATCH 12/12] merge-file: " Jonathan Nieder
2010-08-06 3:34 ` [PATCH master 0/2] fix "check-ref-format --branch" from subdir of toplevel Jonathan Nieder
2010-08-06 3:36 ` [PATCH 1/2] check-ref-format: handle subcommands in separate functions Jonathan Nieder
2010-08-06 3:39 ` [PATCH 2/2] Allow "check-ref-format --branch" from subdirectory Jonathan Nieder
2010-08-06 19:42 ` Junio C Hamano
2010-08-06 4:26 ` [PATCH jn/paginate-fix 0/12] Re: git --paginate: do not commit pager choice too early Nguyen Thai Ngoc Duy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100714213043.GA1590@burratino \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.