git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/6] bisect: read bisect paths with strbuf_getline()

From
MNMoritz Neeb <lists@moritzneeb.de>
Date
Feb 22, 2016, 01:15 UTC
Message-ID
<56CA613C.1080106@moritzneeb.de>
In-Reply-To
<56CA5DBB.8040006@moritzneeb.de>

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 this file to be editable by user, or encouraged them to do so, thus the call to strbuf_trim() turns obsolete in various ways.

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>
---
 bisect.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/bisect.c b/bisect.c
index 06ec54e..e2df02f 100644
--- 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.7.1.345.gc14003e
Previous: Moritz NeebNext: Moritz Neeb
Message 3 of 14 in “replacing strbuf_getline_lf() by strbuf_getline() on trimmed input”
  1. 0/6 replacing strbuf_getline_lf() by strbuf_getline() on trimmed inputMoritz Neeb, Feb 22, 2016
  2. 1/6 quote: remove leading space in sq_dequote_stepMoritz Neeb, Feb 22, 2016
  3. 2/6 bisect: read bisect paths with strbuf_getline()Moritz Neeb, Feb 22, 2016
  4. 4/6 notes: read copied notes with strbuf_getline()Moritz Neeb, Feb 22, 2016
  5. Eric SunshineFeb 22, 2016
  6. Junio C HamanoFeb 22, 2016
  7. 6/6 wt-status: read rebase todolist with strbuf_getline()Moritz Neeb, Feb 22, 2016
  8. Junio C HamanoFeb 22, 2016
  9. 3/6 clean: read user input with strbuf_getline()Moritz Neeb, Feb 22, 2016
  10. Eric SunshineFeb 22, 2016
  11. Moritz NeebFeb 22, 2016
  12. Junio C HamanoFeb 22, 2016
  13. 5/6 remote: read $GIT_DIR/branches/* with strbuf_getline()Moritz Neeb, Feb 22, 2016
  14. Junio C HamanoFeb 22, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.