From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Sebastian Celis <sebastian@sebastiancelis.com>,
Eric Wong <normalperson@yhbt.net>,
git@vger.kernel.org
Subject: [PATCH 4/6] git svn: Fix launching of pager
Date: Sun, 14 Feb 2010 06:06:10 -0600 [thread overview]
Message-ID: <20100214120610.GD3499@progeny.tock> (raw)
In-Reply-To: <20100214115430.GA1849@progeny.tock>
In commit dec543e (am -i, git-svn: use "git var GIT_PAGER"), I tried
to teach git svn to defer to git var on what pager to use. In the
process, I introduced two bugs:
- The value set for $pager in config_pager has local scope, so
run_pager never sees it;
- git var cannot tell whether git svn’s output is going to a
terminal, so the value chosen for $pager does not reflect that
information.
Fix them.
Reported-by: Sebastian Celis <sebastian@sebastiancelis.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Oops. Eric, this bug is masked by another bug in "git var" whose fix
is patch 2 from this series I sent to the list, but whatever happens,
I think this is an improvement. Sorry for the breakage.
git-svn.perl | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 265852f..473a0b9 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -5459,7 +5459,12 @@ sub git_svn_log_cmd {
# adapted from pager.c
sub config_pager {
- chomp(my $pager = command_oneline(qw(var GIT_PAGER)));
+ if (! -t *STDOUT) {
+ $ENV{GIT_PAGER_IN_USE} = 'false';
+ $pager = undef;
+ return;
+ }
+ chomp($pager = command_oneline(qw(var GIT_PAGER)));
if ($pager eq 'cat') {
$pager = undef;
}
@@ -5467,7 +5472,7 @@ sub config_pager {
}
sub run_pager {
- return unless -t *STDOUT && defined $pager;
+ return unless defined $pager;
pipe my ($rfd, $wfd) or return;
defined(my $pid = fork) or ::fatal "Can't fork: $!";
if (!$pid) {
--
1.7.0
next prev parent reply other threads:[~2010-02-14 12:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-13 21:14 'git svn log' no longer uses the pager Sebastian Celis
2010-02-13 23:51 ` Jeff King
2010-02-14 11:54 ` Jonathan Nieder
2010-02-14 11:55 ` [PATCH 1/6] Fix 'git var' usage synopsis Jonathan Nieder
2010-02-15 2:22 ` Junio C Hamano
2010-02-15 2:36 ` [PATCH v2 " Jonathan Nieder
2010-02-15 4:47 ` Jeff King
2010-02-14 11:59 ` [PATCH 2/6] Make 'git var GIT_PAGER' always print the configured pager Jonathan Nieder
2010-02-15 5:00 ` Jeff King
2010-02-15 5:44 ` Jonathan Nieder
2010-02-15 7:57 ` Jeff King
2010-02-14 12:02 ` [PATCH 3/6] git.1: Clarify the behavior of the --paginate option Jonathan Nieder
2010-02-15 4:55 ` Jeff King
2010-02-14 12:06 ` Jonathan Nieder [this message]
2010-02-15 7:58 ` [PATCH 4/6] git svn: Fix launching of pager Eric Wong
2010-02-14 12:07 ` [PATCH 5/6] am: " Jonathan Nieder
2010-02-15 2:30 ` Junio C Hamano
2010-02-15 2:59 ` [PATCH v2 " Jonathan Nieder
2010-02-15 3:25 ` [PATCH v3 " Jonathan Nieder
2010-02-15 4:42 ` Jeff King
2010-02-15 5:04 ` [PATCH v4 " Jonathan Nieder
2010-02-15 5:12 ` Jeff King
2010-02-15 20:26 ` Johannes Sixt
2010-02-14 12:13 ` [PATCH 6/6] tests: Add tests for automatic use " Jonathan Nieder
2010-02-15 5:10 ` Jeff King
2010-02-15 5:35 ` [PATCH v2 " Jonathan Nieder
2010-02-15 5:37 ` Jeff King
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=20100214120610.GD3499@progeny.tock \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=normalperson@yhbt.net \
--cc=peff@peff.net \
--cc=sebastian@sebastiancelis.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).