All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 2/7] help -a: do not list commands that are excluded from the build
Date: Thu, 18 Apr 2019 14:06:28 +0200 (CEST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.1904181403330.46@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <xmqqo957sq2g.fsf@gitster-ct.c.googlers.com>

Hi Junio,

On Mon, 15 Apr 2019, Junio C Hamano wrote:

> "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
> writes:
>
> >  SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\
> >  	$(localedir_SQ):$(NO_CURL):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\
> > diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
> > index 709d67405b..7867b99d19 100755
> > --- a/generate-cmdlist.sh
> > +++ b/generate-cmdlist.sh
> > @@ -6,7 +6,7 @@ die () {
> >  }
> >
> >  command_list () {
> > -	grep -v '^#' "$1"
> > +	eval grep -ve '^#' $exclude_programs "$1"
>
> The original protects against $IFS in the filename given as $1, but
> with the eval that is no longer true.  We have been feeding the
> constant "command-list.txt" to the program since its inception, and
> I do not expect it to change, so this regression in defensiveness
> does not matter in practice.  Also because # is prefixed with ^, the
> unintended loss of quotes around it when the eval makes the shell
> re-parse the generated command line would not make the remainder
> into a comment.
>
> But it does look brittle, and smells like a trap for less
> experienced shell programmers to blindly copy & paste & tweak
> without understanding what is going on, leading to bugs.
>
> 	eval "grep -v -e '^#' $exclude_programs" <"$1"
>
> or something like that, perhaps?

Yes! Thank you.

> > @@ -93,6 +93,14 @@ EOF
> >  EOF
> >  }
> >
> > +exclude_programs=
> > +while test "a$1" = "a--exclude-program"
>
> s/a/z/g; if you want to pretend to be old-fashioned, but s/a//g;
> should be sufficient in the modern world.

Don't you know, I always used "a" without realizing. You can see my
misdeed even in git-rebase--preserve-merges.sh. I won't fix it there,
though, as I hope that it'll be gone soon enough.

Will be fixed in the next iteration I send.

Thanks,
Dscho

  reply	other threads:[~2019-04-18 12:06 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-12 12:00 [PATCH 0/7] Assorted Documentation-related fixes Johannes Schindelin via GitGitGadget
2019-04-12 12:00 ` [PATCH 1/7] remote-testgit: move it into the support directory for t5801 Johannes Schindelin via GitGitGadget
2019-04-15  7:08   ` Junio C Hamano
2019-04-18 11:46     ` Johannes Schindelin
2019-04-12 12:00 ` [PATCH 2/7] help -a: do not list commands that are excluded from the build Johannes Schindelin via GitGitGadget
2019-04-15  7:08   ` Junio C Hamano
2019-04-18 12:06     ` Johannes Schindelin [this message]
2019-04-12 12:00 ` [PATCH 3/7] check-docs: do not pretend that commands are listed which are excluded Johannes Schindelin via GitGitGadget
2019-04-15  7:18   ` Junio C Hamano
2019-04-18 12:41     ` Johannes Schindelin
2019-04-12 12:00 ` [PATCH 4/7] docs: exclude documentation for commands that have been excluded Johannes Schindelin via GitGitGadget
2019-04-12 18:46   ` Eric Sunshine
2019-04-15  3:09     ` Junio C Hamano
2019-04-15  4:16       ` Eric Sunshine
2019-04-15  4:18         ` Eric Sunshine
2019-04-18 13:08           ` Johannes Schindelin
2019-04-15 14:50         ` Jeff King
2019-04-16  4:12           ` Junio C Hamano
2019-04-18 13:06           ` Johannes Schindelin
2019-04-18 16:01             ` Jeff King
2019-04-12 12:00 ` [PATCH 5/7] check-docs: do not bother checking for legacy scripts' documentation Johannes Schindelin via GitGitGadget
2019-04-15  7:19   ` Junio C Hamano
2019-04-12 12:00 ` [PATCH 6/7] test-tool: handle the `-C <directory>` option just like `git` Johannes Schindelin via GitGitGadget
2019-04-12 12:00 ` [PATCH 7/7] Turn `git serve` into a test helper Johannes Schindelin via GitGitGadget
2019-04-15 14:03   ` Junio C Hamano
2019-04-17  3:46     ` Jeff King
2019-04-17  5:40       ` Junio C Hamano
2019-04-17 18:22         ` Josh Steadmon
2019-04-18  1:58           ` Junio C Hamano
2019-04-18 12:17     ` Johannes Schindelin
2019-04-18 13:16 ` [PATCH v2 0/8] Assorted Documentation-related fixes Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 1/8] remote-testgit: move it into the support directory for t5801 Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 2/8] Makefile: drop the NO_INSTALL variable Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 3/8] help -a: do not list commands that are excluded from the build Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 4/8] check-docs: allow command-list.txt to contain excluded commands Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 5/8] docs: exclude documentation for commands that have been excluded Johannes Schindelin via GitGitGadget
2019-04-19  5:20     ` Junio C Hamano
2019-04-29 12:28       ` Johannes Schindelin
2019-04-18 13:16   ` [PATCH v2 6/8] check-docs: do not bother checking for legacy scripts' documentation Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 7/8] test-tool: handle the `-C <directory>` option just like `git` Johannes Schindelin via GitGitGadget
2019-04-18 13:16   ` [PATCH v2 8/8] Turn `git serve` into a test helper Johannes Schindelin via GitGitGadget

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=nycvar.QRO.7.76.6.1904181403330.46@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --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.