All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sunshine <sunshine@sunshineco.com>
To: "SZEDER Gábor" <szeder@ira.uka.de>
Cc: Pranit Bauva <pranit.bauva@gmail.com>, Git List <git@vger.kernel.org>
Subject: Re: [PATCH v10 2/3] t7507-commit-verbose: store output of grep in a file
Date: Sun, 27 Mar 2016 13:27:41 -0400	[thread overview]
Message-ID: <20160327172741.GA4005@flurp.local> (raw)
In-Reply-To: <1459085245-20658-1-git-send-email-szeder@ira.uka.de>

On Sun, Mar 27, 2016 at 03:27:25PM +0200, SZEDER Gábor wrote:
> > > +! test -s out ||
> > > +rm out &&
> > 
> > Why not just "rm -f out"? But, more importantly, why do you need to
> > remove the file at all? The '>' redirection operator (used below) will
> > overwrite the file, so no need to remove it beforehand.
> > 
> > > +! grep '^diff --git' "$1" ||
> > > +grep '^diff --git' "$1" >out
> > 
> > Um, what? Why two greps? I would have expected you to simply re-use
> > the existing grep (minus the backslash) while adding the redirection:
> > 
> >     -exec grep '^diff --git' "\$1"
> >     +exec grep '^diff --git' "$1" >out
> > 
> > Am I missing something obvious?
> 
> In the non-verbose cases no diff is included in the commit message
> template, thus the pattern looking for it doesn't match anything, grep
> exits with error code, which in turn becomes the editor's exit
> code, ultimately making 'git commit' fail.  Not good.
> 
> I suppose both the explicit 'rm out' and the '! grep ... || ...' is
> there to deal with this situation.

Sure, I understand that, but that's not what I meant. What I wanted
to know was why Pranit didn't just use the simpler:

    grep '^diff --git' "$1" >out
    exit 0

and then, in tests:

    test_line_count = n out

where 'n' is 0, 1, or 2 as expected by the test.

Unfortunately, you missed the rest of the discussion since Pranit
(presumably) accidentally dropped the mailing list when he replied,
and I didn't notice the omission when replying to him with the above
suggestion, which would have saved you the bother of going through
this, as well.

> I think we could:
> 
>   - either revive the idea of two editor scripts: one for the
>     non-verbose case checking with '! grep ...' that there are no
>     diffs in the commit message template, and one for all verbose
>     cases storing those diff lines in a file to be counted later.
> 
>   - or use a fake editor that merely copies the whole commit message
>     template to a separate file, and we do the greping in the tests
>     themselves as well.
> 
>   - or simply stick a 'true' at the end of the editor script ensuring
>     that it returns success even when grep can't find the pattern, but
>     I kind of feel ashamed of myself for even mentioning this
>     possibility ;)
> 
> I would go for the second possibility, but don't feel strong about it.

Your #3 is effectively what I had suggested, as well (which is
reproduced above). I had already made this change locally along with
some other changes I suggested in other responses, and those changes
look like this (atop Pranit's two patches), which isn't too bad:

--- 8< ---
diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh
index 569fd8b..ea26b57 100755
--- a/t/t7507-commit-verbose.sh
+++ b/t/t7507-commit-verbose.sh
@@ -4,12 +4,9 @@ test_description='verbose commit template'
 . ./test-lib.sh
 
 write_script "check-for-diff" <<'EOF' &&
-! test -s out ||
-rm out &&
-! grep '^diff --git' "$1" ||
 grep '^diff --git' "$1" >out
+exit 0
 EOF
-chmod +x check-for-diff
 test_set_editor "$PWD/check-for-diff"
 
 cat >message <<'EOF'
@@ -101,11 +98,12 @@ test_expect_success 'verbose diff is stripped out with set core.commentChar' '
 	test_i18ngrep "Aborting commit due to empty commit message." err
 '
 
+test_expect_success 'setup -v -v' '
+	echo dirty >file
+'
+
 test_expect_success 'commit.verbose true and --verbose omitted' '
-	echo content >file2 &&
-	echo content >>file &&
-	git add file2 &&
-	git -c commit.verbose=true commit -F message &&
+	git -c commit.verbose=true commit --amend &&
 	test_line_count = 1 out
 '
 
@@ -121,7 +119,7 @@ test_expect_success 'commit.verbose true and -v -v' '
 
 test_expect_success 'commit.verbose true and --no-verbose' '
 	git -c commit.verbose=true commit --amend --no-verbose &&
-	! test -s out
+	test_line_count = 0 out
 '
 
 test_expect_success 'commit.verbose false and --verbose' '
@@ -136,12 +134,12 @@ test_expect_success 'commit.verbose false and -v -v' '
 
 test_expect_success 'commit.verbose false and --verbose omitted' '
 	git -c commit.verbose=false commit --amend &&
-	! test -s out
+	test_line_count = 0 out
 '
 
 test_expect_success 'commit.verbose false and --no-verbose' '
 	git -c commit.verbose=false commit --amend --no-verbose &&
-	! test -s out
+	test_line_count = 0 out
 '
 
 test_expect_success 'status ignores commit.verbose=true' '
-- 

  parent reply	other threads:[~2016-03-27 17:27 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-14 21:38 [PATCH v7] commit: add a commit.verbose config variable Pranit Bauva
2016-03-15 11:31 ` SZEDER Gábor
2016-03-15 19:00   ` Pranit Bauva
2016-03-15 19:24     ` Eric Sunshine
2016-03-15 20:13       ` Pranit Bauva
2016-03-15 20:24         ` Junio C Hamano
2016-03-15 21:09           ` Pranit Bauva
2016-03-15 21:16             ` Junio C Hamano
2016-03-15 21:18               ` Pranit Bauva
2016-03-18 21:19 ` [PATCH v8 1/2] parse-options.c: make OPTION__COUNTUP consider negative values Pranit Bauva
2016-03-18 21:19   ` [PATCH v8 2/2] commit: add a commit.verbose config variable Pranit Bauva
2016-03-20  3:56     ` Eric Sunshine
2016-03-20 11:05       ` Pranit Bauva
2016-03-20 17:34         ` Eric Sunshine
2016-03-20 18:02           ` Pranit Bauva
2016-03-23 19:19             ` Junio C Hamano
2016-03-23 19:23               ` Pranit Bauva
2016-03-23 20:43                 ` Junio C Hamano
2016-03-24  8:25     ` [PATCH v9 1/3] parse-options.c: make OPTION__COUNTUP consider negative values Pranit Bauva
2016-03-24  8:25       ` [PATCH v9 3/3] commit: add a commit.verbose config variable Pranit Bauva
2016-03-24 10:04         ` SZEDER Gábor
2016-03-24 10:22           ` Pranit Bauva
2016-03-24 10:26             ` Pranit Bauva
2016-03-25  0:05         ` Eric Sunshine
2016-03-25  6:15           ` Pranit Bauva
2016-03-24  8:25       ` [PATCH v9 2/3] t7507-commit-verbose: make test suite use write_script Pranit Bauva
2016-03-24 11:00         ` SZEDER Gábor
2016-03-24 23:57           ` Eric Sunshine
2016-03-25  6:06             ` Pranit Bauva
2016-03-25  6:24               ` Eric Sunshine
2016-03-25  6:55                 ` Pranit Bauva
2016-03-25 14:46             ` SZEDER Gábor
2016-03-25 14:50               ` Pranit Bauva
2016-03-25 17:04               ` Eric Sunshine
2016-03-25 18:15                 ` Pranit Bauva
2016-03-25 23:06                   ` Eric Sunshine
2016-03-24 10:33       ` [PATCH v9 1/3] parse-options.c: make OPTION__COUNTUP consider negative values SZEDER Gábor
2016-03-24 10:38         ` Pranit Bauva
2016-03-24 23:34         ` Eric Sunshine
2016-03-28 18:42         ` Pranit Bauva
2016-03-28 19:03           ` Eric Sunshine
2016-03-26 19:48       ` [PATCH v10 1/3] parse-options.c: make OPTION__COUNTUP understand "unspecified" values Pranit Bauva
2016-03-26 19:48         ` [PATCH v10 2/3] t7507-commit-verbose: store output of grep in a file Pranit Bauva
2016-03-27  3:07           ` Eric Sunshine
2016-03-27 13:27             ` SZEDER Gábor
2016-03-27 13:43               ` Pranit Bauva
2016-03-27 17:27               ` Eric Sunshine [this message]
2016-03-27 18:31                 ` Pranit Bauva
     [not found]             ` <CAFZEwPMaZkUi+DvohhVrc_dW_8cdfJsZX-YA_SRWDp021UvDLQ@mail.gmail.com>
2016-03-27 17:03               ` Eric Sunshine
     [not found]               ` <CAPig+cTFK=HPAtk7MeMQSTccmiaai++3sVn6J_pRcSi+w_4Lng@mail.gmail.com>
2016-03-27 17:05                 ` Eric Sunshine
     [not found]                 ` <CAFZEwPMJiCTKszfCAVrzsA+jNHwoHPaXySSD3HyiO=f5AikvZg@mail.gmail.com>
     [not found]                   ` <CAPig+cS3usDDeTMzjqbxqi+k+XbmjawZ0TF20s9-vM6o=Fm=OQ@mail.gmail.com>
2016-03-27 17:08                     ` Eric Sunshine
2016-03-26 19:48         ` [PATCH v10 3/3] commit: add a commit.verbose config variable Pranit Bauva
2016-03-27  3:34           ` Eric Sunshine
2016-03-27  7:00             ` Pranit Bauva
2016-03-27  8:17               ` Eric Sunshine
2016-03-27  8:40                 ` Pranit Bauva
2016-03-27 11:51           ` SZEDER Gábor
2016-03-27 11:59             ` Pranit Bauva
2016-03-27 12:07               ` SZEDER Gábor
2016-03-27 12:11                 ` Pranit Bauva
2016-03-27 16:48               ` Eric Sunshine
2016-03-27  2:45         ` [PATCH v10 1/3] parse-options.c: make OPTION__COUNTUP understand "unspecified" values Eric Sunshine
2016-03-27  6:10           ` Pranit Bauva
2016-03-31 14:45         ` [PATCH v11 1/4] test-parse-options: print quiet as integer Pranit Bauva
2016-03-31 14:45           ` [PATCH v11 4/4] commit: add a commit.verbose config variable Pranit Bauva
2016-03-31 14:45           ` [PATCH v11 2/4] parse-options.c: make OPTION_COUNTUP respect "unspecified" values Pranit Bauva
2016-03-31 18:41             ` Junio C Hamano
2016-03-31 19:34               ` Pranit Bauva
2016-03-31 20:06                 ` Junio C Hamano
2016-03-31 20:41                   ` Pranit Bauva
2016-03-31 20:45                     ` Junio C Hamano
2016-03-31 14:45           ` [PATCH v11 3/4] t7507-commit-verbose: improve test coverage by testing number of diffs Pranit Bauva
2016-03-31 18:23             ` Junio C Hamano
2016-03-31 18:42               ` Pranit Bauva
2016-03-31 18:19           ` [PATCH v11 1/4] test-parse-options: print quiet as integer Junio C Hamano
2016-03-31 18:40             ` Pranit Bauva
2016-04-02 23:33           ` [PATCH v12 1/5] t0040-test-parse-options.sh: fix style issues Pranit Bauva
2016-04-02 23:33             ` [PATCH v12 4/5] t7507-commit-verbose: improve test coverage by testing number of diffs Pranit Bauva
2016-04-04  0:02               ` Eric Sunshine
2016-04-04  1:05                 ` Eric Sunshine
2016-04-05 15:54                 ` Pranit Bauva
2016-04-02 23:33             ` [PATCH v12 3/5] parse-options.c: make OPTION_COUNTUP respect "unspecified" values Pranit Bauva
2016-04-03 23:10               ` Eric Sunshine
2016-04-05 15:51                 ` Pranit Bauva
2016-04-02 23:33             ` [PATCH v12 2/5] test-parse-options: print quiet as integer Pranit Bauva
2016-04-03 21:30               ` Eric Sunshine
2016-04-05 15:39                 ` Pranit Bauva
2016-04-06  5:56                   ` Eric Sunshine
2016-04-08 11:33                   ` Duy Nguyen
2016-04-08 16:52                 ` Junio C Hamano
2016-04-02 23:33             ` [PATCH v12 5/5] commit: add a commit.verbose config variable Pranit Bauva
2016-04-04  0:58               ` Eric Sunshine
2016-04-04 23:29                 ` Eric Sunshine
2016-04-05 15:58                   ` Pranit Bauva
2016-04-03 21:00             ` [PATCH v12 1/5] t0040-test-parse-options.sh: fix style issues Eric Sunshine
2016-04-04 12:45               ` Pranit Bauva
2016-04-04 17:30                 ` Eric Sunshine
2016-04-05  5:08                   ` Pranit Bauva
2016-04-09 12:23             ` [PATCH v13 1/6] " Pranit Bauva
2016-04-09 12:23               ` [PATCH v13 3/6] t0040-parse-options: improve test coverage Pranit Bauva
2016-04-09 12:23               ` [PATCH v13 5/6] t7507-commit-verbose: improve test coverage by testing number of diffs Pranit Bauva
2016-04-09 12:23               ` [PATCH v13 6/6] commit: add a commit.verbose config variable Pranit Bauva
2016-04-12 21:24                 ` Junio C Hamano
2016-04-12 21:28                   ` Pranit Bauva
2016-04-12 21:39                   ` Junio C Hamano
2016-04-12 22:18                     ` Junio C Hamano
2016-04-12 22:25                       ` Pranit Bauva
2016-04-09 12:23               ` [PATCH v13 4/6] parse-options.c: make OPTION_COUNTUP respect "unspecified" values Pranit Bauva
2016-04-09 12:23               ` [PATCH v13 2/6] test-parse-options: print quiet as integer Pranit Bauva
2016-04-12 21:33                 ` Junio C Hamano
2016-04-12 22:16                   ` Pranit Bauva
2016-04-12 23:11                     ` Junio C Hamano
2016-04-12 23:02               ` [PATCH v14 1/6] t0040-test-parse-options.sh: fix style issues Pranit Bauva
2016-04-12 23:02                 ` [PATCH v14 2/6] test-parse-options: print quiet as integer Pranit Bauva
2016-04-12 23:02                 ` [PATCH v14 3/6] t0040-parse-options: improve test coverage Pranit Bauva
2016-04-13  5:26                   ` Eric Sunshine
2016-04-13  8:59                     ` Pranit Bauva
2016-04-13 17:27                       ` Eric Sunshine
2016-04-25 18:40                         ` Pranit Bauva
2016-04-27 17:55                           ` Eric Sunshine
2016-04-27 18:16                             ` Pranit Bauva
2016-04-12 23:02                 ` [PATCH v14 4/6] parse-options.c: make OPTION_COUNTUP respect "unspecified" values Pranit Bauva
2016-04-13  5:56                   ` Eric Sunshine
2016-04-13  8:39                     ` Pranit Bauva
2016-04-13 17:33                       ` Eric Sunshine
2016-04-13 17:43                         ` Pranit Bauva
2016-04-13 17:50                           ` Eric Sunshine
2016-04-12 23:02                 ` [PATCH v14 5/6] t7507-commit-verbose: improve test coverage by testing number of diffs Pranit Bauva
2016-04-13  6:03                   ` Eric Sunshine
2016-04-13  9:00                     ` Pranit Bauva
2016-04-12 23:02                 ` [PATCH v14 6/6] commit: add a commit.verbose config variable Pranit Bauva
2016-04-13  6:14                   ` Eric Sunshine
2016-04-13  9:15                     ` Pranit Bauva
2016-04-13 17:44                       ` Eric Sunshine
2016-03-18 22:59   ` [PATCH v8 1/2] parse-options.c: make OPTION__COUNTUP consider negative values Junio C Hamano
2016-03-19  4:55     ` Pranit Bauva

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=20160327172741.GA4005@flurp.local \
    --to=sunshine@sunshineco.com \
    --cc=git@vger.kernel.org \
    --cc=pranit.bauva@gmail.com \
    --cc=szeder@ira.uka.de \
    /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.