All of lore.kernel.org
 help / color / mirror / Atom feed
From: Caleb Thompson <caleb@calebthompson.io>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v5 4/4] commit: Add commit.verbose configuration
Date: Mon, 16 Jun 2014 15:05:58 -0500	[thread overview]
Message-ID: <20140616200558.GA37769@sirius.local> (raw)
In-Reply-To: <20140616195057.GB28126@sirius.local>

[-- Attachment #1: Type: text/plain, Size: 3304 bytes --]

On Mon, Jun 16, 2014 at 02:50:57PM -0500, Caleb Thompson wrote:
> On Fri, Jun 13, 2014 at 10:48:55AM -0700, Junio C Hamano wrote:
> > Caleb Thompson <caleb@calebthompson.io> writes:
> >
> > > diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh
> > > index 35a4d06..402d6a1 100755
> > > --- a/t/t7507-commit-verbose.sh
> > > +++ b/t/t7507-commit-verbose.sh
> > > @@ -7,6 +7,10 @@ write_script check-for-diff <<-'EOF'
> > >		exec grep '^diff --git' "$1"
> > >  EOF
> > >
> > > +write_script check-for-no-diff <<-'EOF'
> > > +	exec grep -v '^diff --git' "$1"
> > > +EOF
> >
> > This lets grep show all lines that are not "diff --git" in the
> > input, and as usual grep exits success if it has any line in the
> > output.
> >
> >     $ grep -v '^diff --git' <<\EOF ; echo $?
> >     diff --git
> >     a
> >     EOF
> >     a
> >     0
> >     $ exit
> >
> > What are we testing, exactly?
>
> Good catch. It worked when I switched check-for-diff from
> check-for-no-diff, but I didn't try to make check-for-no-diff fail
> independently, so I apologize.
>
> This version removes the the beginning of a line starting with
> "diff --git" from the string, then checks that the result and the
> original string are not the same. Switching the != logic to = makes the
> tests using check-for-no-diff fail.
>
>	write_script check-for-no-diff <<-'EOF'
>		exec test "${1#*^diff --git} != $1
>	EOF
>
> Another option is to replace the parameter substitution with a call to
> grep:
>
>	write_script check-for-no-diff <<-'EOF'
>		exec test "`grep -v '^diff --git' \"$1\"` != "$1
>	EOF
>
> I think that the former reads nicer, and requires less escaping, but I'm
> open to feedback.

Correction: the first variant does not work, only the second. Sorry for the
confustion.

	write_script check-for-no-diff <<-'EOF'
		exec test "`grep -v '^diff --git' \"$1\"`" != "$1"
	EOF

> > > @@ -48,6 +52,38 @@ test_expect_success 'verbose diff is stripped out (mnemonicprefix)' '
> > >		check_message message
> > >  '
> > >
> > > +test_expect_success 'commit shows verbose diff with commit.verbose true' '
> > > +	echo morecontent >>file &&
> > > +	git add file &&
> > > +	test_config commit.verbose true &&
> > > +	test_set_editor "$PWD/check-for-diff" &&
> > > +	git commit --amend
> > > +'
> > > +
> > > +test_expect_success 'commit --verbose overrides commit.verbose false' '
> > > +	echo evenmorecontent >>file &&
> > > +	git add file &&
> > > +	test_config commit.verbose false  &&
> > > +	test_set_editor "$PWD/check-for-diff" &&
> > > +	git commit --amend --verbose
> > > +'
> > > +
> > > +test_expect_success 'commit does not show verbose diff with commit.verbose false' '
> > > +	echo evenmorecontent >>file &&
> > > +	git add file &&
> > > +	test_config commit.verbose false &&
> > > +	test_set_editor "$PWD/check-for-no-diff" &&
> > > +	git commit --amend
> > > +'
> > > +
> > > +test_expect_success 'commit --no-verbose overrides commit.verbose true' '
> > > +	echo evenmorecontent >>file &&
> > > +	git add file &&
> > > +	test_config commit.verbose true &&
> > > +	test_set_editor "$PWD/check-for-no-diff" &&
> > > +	git commit --amend --no-verbose
> > > +'
> > > +
> > >  cat >diff <<'EOF'
> > >  This is an example commit message that contains a diff.
> > >
> > > --
> > > 2.0.0
>
> Caleb Thompson



[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]

  reply	other threads:[~2014-06-16 20:06 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-12 19:38 [PATCH v5 0/4] commit: Add commit.verbose configuration Caleb Thompson
2014-06-12 19:38 ` [PATCH v5 1/4] commit test: Use test_config instead of git-config Caleb Thompson
2014-06-12 19:39 ` [PATCH v5 2/4] commit test: Use write_script Caleb Thompson
2014-06-13  6:50   ` Jeff King
2014-06-13 16:26     ` Caleb Thompson
2014-06-13 23:28       ` Jeff King
2014-06-12 19:39 ` [PATCH v5 3/4] commit test: test_set_editor in each test Caleb Thompson
2014-06-13  6:59   ` Jeff King
2014-06-13 16:36     ` Caleb Thompson
2014-06-13 17:16       ` Jakub Narębski
2014-06-13 17:47         ` Caleb Thompson
2014-06-13 18:52           ` Jakub Narębski
2014-06-13 23:39       ` Jeff King
2014-06-13 17:42     ` Junio C Hamano
2014-06-13 23:41       ` Jeff King
2014-06-16 17:46         ` Caleb Thompson
2014-06-16 18:58           ` Junio C Hamano
2014-06-12 20:00 ` [PATCH v5 4/4] commit: Add commit.verbose configuration Caleb Thompson
2014-06-13 17:48   ` Junio C Hamano
2014-06-16 19:50     ` Caleb Thompson
2014-06-16 20:05       ` Caleb Thompson [this message]
2014-06-16 20:06       ` Junio C Hamano
2014-06-16 20:10         ` Caleb Thompson
2014-06-16 22:25           ` Junio C Hamano
2014-06-12 20:30 ` [PATCH v5 0/4] " Jeremiah Mahler
2014-06-13 16:49   ` Caleb Thompson
2014-06-14  4:14     ` Jeremiah Mahler
2014-06-16 20:28       ` Junio C Hamano

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=20140616200558.GA37769@sirius.local \
    --to=caleb@calebthompson.io \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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 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.