From: Moritz Neeb <lists@moritzneeb.de>
To: Git List <git@vger.kernel.org>
Cc: Eric Sunshine <sunshine@sunshineco.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v3 2/7] bisect: read bisect paths with strbuf_getline()
Date: Sun, 28 Feb 2016 08:30:04 +0100 [thread overview]
Message-ID: <56D2A1FC.4020008@moritzneeb.de> (raw)
In-Reply-To: <CAPig+cRMX1DF7ffEKR4fWGY9wZjpKsaOaf4C1YdWipUGh1+8AA@mail.gmail.com>
On 02/28/2016 07:33 AM, Eric Sunshine wrote:
> On Sun, Feb 28, 2016 at 12:13 AM, Moritz Neeb <lists@moritzneeb.de> wrote:
>> The file BISECT_NAMES is written by "git rev-parse --sq-quote" via
>> sq_quote_argv() when starting a bisection. It can contain pathspecs
>> to narrow down the search. When reading it back, it should be expected that
>> sq_dequote_to_argv_array() is able to parse this file. In fact, the
>> previous commit ensures this.
>>
>> As the content is of type "text", that means there is no logic expecting
>> CR, strbuf_getline_lf() will be replaced by strbuf_getline().
>>
>> Apart from whitespace added and removed in quote.c, no more whitespaces
>> are expexted. While it is technically possible, we have never advertised
>
> s/expexted/expected/
>
>> this file to be editable by user, or encouraged them to do so, thus
>> the call to strbuf_trim() turns obsolete in various ways.
>
> Not sure what "various ways" you mean. Perhaps say instead that (as a
> consequence of "not advertised or encouraged") you're tightening the
> parsing of this file by removing strbuf_trim().
Yeah that doesn't make sense. What I meant "it's neither needed for CR-removal,
nor for removal of other potential whitespace". I will rewrite the paragraph to:
Apart from whitespace added and removed in quote.c, no other whitespaces
are expected. While it is technically possible, we have never advertised
this file to be editable by user, or encouraged them to do so. As a
consequence, the parsing of BISECT_NAMES is tightened by removing
strbuf_trim().
>
>> For the case that this file is modified nonetheless, in an invalid way
>> such that dequoting fails, the error message is broadened to both cases:
>> bad quoting and unexpected whitespace.
>>
>> Helped-by: Junio C Hamano <gitster@pobox.com>
>> Signed-off-by: Moritz Neeb <lists@moritzneeb.de>
>> ---
>> diff --git a/bisect.c b/bisect.c
>> @@ -440,10 +440,9 @@ static void read_bisect_paths(struct argv_array *array)
>> if (!fp)
>> die_errno("Could not open file '%s'", filename);
>>
>> - while (strbuf_getline_lf(&str, fp) != EOF) {
>> - strbuf_trim(&str);
>> + while (strbuf_getline(&str, fp) != EOF) {
>> if (sq_dequote_to_argv_array(str.buf, array))
>> - die("Badly quoted content in file '%s': %s",
>> + die("Badly quoted content or unexpected whitespace in file '%s': %s",
>> filename, str.buf);
>> }
>>
>> --
>> 2.4.3
next prev parent reply other threads:[~2016-02-28 7:30 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-30 17:51 [PATCH 0/5] Replacing strbuf_getline_lf() by strbuf_getline() on trimmed input Moritz Neeb
2016-01-30 18:03 ` [PATCH 1/5] bisect: read bisect paths with strbuf_getline() Moritz Neeb
2016-02-01 21:30 ` Junio C Hamano
2016-02-14 21:01 ` Moritz Neeb
2016-02-15 5:05 ` Junio C Hamano
2016-02-21 23:48 ` Moritz Neeb
2016-02-22 0:07 ` Moritz Neeb
2016-01-30 18:04 ` [PATCH 2/5] clean: read user input " Moritz Neeb
2016-02-01 21:30 ` Junio C Hamano
2016-01-30 18:05 ` [PATCH 3/5] notes: read copied notes " Moritz Neeb
2016-02-01 21:34 ` Junio C Hamano
2016-01-30 18:05 ` [PATCH 4/5] remote: read $GIT_DIR/branches/* " Moritz Neeb
2016-01-30 18:05 ` [PATCH 5/5] wt-status: read rebase todolist " Moritz Neeb
2016-02-01 21:39 ` Junio C Hamano
2016-02-22 1:00 ` [PATCH v2 0/6] replacing strbuf_getline_lf() by strbuf_getline() on trimmed input Moritz Neeb
2016-02-22 1:15 ` [PATCH v2 1/6] quote: remove leading space in sq_dequote_step Moritz Neeb
2016-02-22 1:15 ` [PATCH v2 2/6] bisect: read bisect paths with strbuf_getline() Moritz Neeb
2016-02-22 1:16 ` [PATCH v2 4/6] notes: read copied notes " Moritz Neeb
2016-02-22 2:41 ` Eric Sunshine
2016-02-22 19:27 ` Junio C Hamano
2016-02-22 1:17 ` [PATCH v2 6/6] wt-status: read rebase todolist " Moritz Neeb
2016-02-22 19:30 ` Junio C Hamano
2016-02-22 1:20 ` [PATCH v2 3/6] clean: read user input " Moritz Neeb
2016-02-22 2:27 ` Eric Sunshine
2016-02-22 7:40 ` Moritz Neeb
2016-02-22 19:40 ` Junio C Hamano
2016-02-22 1:22 ` [PATCH v2 5/6] remote: read $GIT_DIR/branches/* " Moritz Neeb
2016-02-22 19:09 ` Junio C Hamano
2016-02-28 5:07 ` [PATCH v3 0/7] replacing strbuf_getline_lf() by strbuf_getline() Moritz Neeb
2016-02-28 5:13 ` [PATCH v3 1/7] quote: remove leading space in sq_dequote_step Moritz Neeb
2016-02-28 5:13 ` [PATCH v3 2/7] bisect: read bisect paths with strbuf_getline() Moritz Neeb
2016-02-28 6:33 ` Eric Sunshine
2016-02-28 7:30 ` Moritz Neeb [this message]
2016-02-28 5:13 ` [PATCH v3 3/7] clean: read user input " Moritz Neeb
2016-02-28 6:36 ` Eric Sunshine
2016-02-28 7:36 ` Moritz Neeb
2016-02-28 5:13 ` [PATCH v3 4/7] notes copy --stdin: split lines with string_list_split() Moritz Neeb
2016-02-28 6:56 ` Eric Sunshine
2016-02-28 7:47 ` Moritz Neeb
2016-02-28 16:02 ` Eric Sunshine
2016-02-28 5:13 ` [PATCH v3 5/7] notes copy --stdin: read lines with strbuf_getline() Moritz Neeb
2016-02-28 5:14 ` [PATCH v3 6/7] remote: read $GIT_DIR/branches/* " Moritz Neeb
2016-02-28 5:14 ` [PATCH v3 7/7] wt-status: read rebase todolist " Moritz Neeb
2016-02-28 6:30 ` [PATCH v3 0/7] replacing strbuf_getline_lf() by strbuf_getline() Eric Sunshine
2016-02-28 7:20 ` Moritz Neeb
2016-02-28 8:03 ` Moritz Neeb
2016-02-29 8:30 ` [PATCH v4 " Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 1/7] quote: remove leading space in sq_dequote_step Moritz Neeb
2016-02-29 19:01 ` Junio C Hamano
2016-02-29 21:45 ` Moritz Neeb
2016-02-29 21:48 ` Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 2/7] bisect: read bisect paths with strbuf_getline() Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 3/7] clean: read user input " Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 5/7] notes copy --stdin: split lines with string_list_split() Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 6/7] remote: read $GIT_DIR/branches/* with strbuf_getline() Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 7/7] wt-status: read rebase todolist " Moritz Neeb
2016-02-29 8:36 ` [PATCH v4 4/7] notes copy --stdin: read lines " Moritz Neeb
2016-02-29 18:19 ` Eric Sunshine
2016-02-29 19:26 ` Moritz Neeb
2016-02-29 19:48 ` Eric Sunshine
2016-02-29 18:26 ` [PATCH v4 0/7] replacing strbuf_getline_lf() by strbuf_getline() Eric Sunshine
2016-03-09 0:25 ` Moritz Neeb
2016-03-09 0:39 ` Junio C Hamano
2016-03-09 1:13 ` Moritz Neeb
2016-03-09 20:28 ` Junio C Hamano
2016-03-09 1:17 ` Eric Sunshine
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=56D2A1FC.4020008@moritzneeb.de \
--to=lists@moritzneeb.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sunshine@sunshineco.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).