From: Kevin Daudt <me@ikke.info>
To: "Martin Ågren" <martin.agren@gmail.com>
Cc: "Git Mailing List" <git@vger.kernel.org>,
"Rafael Ascensão" <rafa.almas@gmail.com>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: Re: [PATCH] column: show auto columns when pager is active
Date: Wed, 11 Oct 2017 20:36:40 +0200 [thread overview]
Message-ID: <20171011183640.GC16800@alpha.vpn.ikke.info> (raw)
In-Reply-To: <CAN0heSqbD8TJu+_d11gj2eftG3gR+n0j621q_uSnuLQc9t_pbQ@mail.gmail.com>
On Wed, Oct 11, 2017 at 08:12:35PM +0200, Martin Ågren wrote:
> On 11 October 2017 at 19:23, Kevin Daudt <me@ikke.info> wrote:
> > finalize_colopts in column.c only checks whether the output is a TTY to
> > determine if columns should be enabled with columns set to auto. Also check
> > if the pager is active.
>
> Maybe you could say something about the difficulties of writing a test
> for `git column` proper. Something like this perhaps:
>
> Adding a test for git column is possible but requires some care to
> work around a race on stdin. See commit 18d8c2693 (test_terminal:
> redirect child process' stdin to a pty, 2015-08-04). Test git tag
> instead, since that does not involve stdin, and since that was the
> original motivation for this patch.
Right, makes sense.
>
> > Helped-by: Rafael Ascensão <rafa.almas@gmail.com>
> > Signed-off-by: Kevin Daudt <me@ikke.info>
> > ---
> > column.c | 3 ++-
> > t/t7006-pager.sh | 14 ++++++++++++++
> > 2 files changed, 16 insertions(+), 1 deletion(-)
>
> Does the documentation on `column.ui` need to be updated? It talks about
> "if the output is to the terminal". That's similar to the documentation
> on the various `color.*`, so we should be fine, and arguably it's even
> better not to say anything since that makes it consistent.
>
> > diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
> > index f0f1abd1c..44c2ca5d3 100755
> > --- a/t/t7006-pager.sh
> > +++ b/t/t7006-pager.sh
> > @@ -570,4 +570,18 @@ test_expect_success 'command with underscores does not complain' '
> > test_cmp expect actual
> > '
> >
> > +test_expect_success TTY 'git tag with auto-columns ' '
> > + test_commit one &&
> > + test_commit two &&
> > + test_commit three &&
> > + test_commit four &&
> > + test_commit five &&
> > + cat >expected <<\EOF &&
> > +initial one two three four five
> > +EOF
> > + test_terminal env PAGER="cat >actual.tag" COLUMNS=80 \
> > + git -p -c column.ui=auto tag --sort=authordate &&
> > + test_cmp expected actual.tag
> > +'
> > +
> > test_done
>
> Since `git tag` pages when it's listing, you don't need the `-p`. But
> it's not like it hurts to have it. Yeah, I know, you needed it with `git
> column`. :-)
Right, it was a bit of a left-over since I assumed the PAGER='cat >paginated.out'
from the beginning of the test was in place and I wasn't getting any
output, but it turned out PAGER wasn't set.
> I wonder if it's useful to set COLUMNS a bit lower so that this has to
> split across more than one line (but not six), i.e., to do something
> non-trivial. I suppose that might lower the chances of some weird
> breakage slipping through.
Yeah, I was doubting about that, but wouldn't this amount to testing
whether git column is working properly, instead of just testing whether
it's being done at all?
> This test uses "actual.tag" while most (all?) others in this file use
> "actual". Maybe you worry about checking the "wrong" file, e.g., in case
> the pager doesn't kick in. You could do `rm -f actual` before the
> `test_terminal`-invocation to protect against that.
Yeah, I actually ran into that, but rm-ing it is better, I agree.
> These were just the thoughts that occurred to me, not sure if any of
> them is particularly significant. Thanks for cleaning up after me.
>
np. Just as I posted earlier, I think you did not actually cause the bug
(because this has never worked), it just made it visible to more users.
Kevin
next prev parent reply other threads:[~2017-10-11 18:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 21:45 [RFC] column: show auto columns when pager is active Kevin Daudt
2017-10-09 23:27 ` Eric Sunshine
2017-10-10 10:30 ` Martin Ågren
2017-10-10 14:01 ` Jeff King
2017-10-10 17:02 ` Martin Ågren
2017-10-11 4:54 ` Kevin Daudt
2017-10-12 14:24 ` Jeff King
2017-10-10 14:10 ` Jeff King
2017-10-10 14:29 ` Jeff King
2017-10-10 17:04 ` Martin Ågren
2017-10-10 18:32 ` Kevin Daudt
2017-10-11 17:23 ` [PATCH] " Kevin Daudt
2017-10-11 18:12 ` Martin Ågren
2017-10-11 18:36 ` Kevin Daudt [this message]
2017-10-11 19:02 ` Martin Ågren
2017-10-16 18:35 ` [PATCH v2] " Kevin Daudt
2017-10-17 3:19 ` Junio C Hamano
2017-10-23 21:52 ` Jonathan Nieder
2017-10-24 1:11 ` Junio C Hamano
2017-10-24 1:18 ` Jonathan Nieder
2017-10-24 6:58 ` Kevin Daudt
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171011183640.GC16800@alpha.vpn.ikke.info \
--to=me@ikke.info \
--cc=git@vger.kernel.org \
--cc=martin.agren@gmail.com \
--cc=pclouds@gmail.com \
--cc=rafa.almas@gmail.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).