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

Re: Replacing strbuf_getline_lf() by strbuf_getline() in wt-status.c

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 31, 2016, 16:59 UTC
Message-ID
<xmqqd1shy99w.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<56ACC916.8020008@moritzneeb.de>
Moritz Neeb <lists@moritzneeb.de> writes:
Show 15 quoted lines
> Currently I am working on replacing strbuf_getline_lf() by
> strbuf_getline() in places where the input is trimmed immediately after
> reading, cf. $gmane/284104, "Notes on the remaining strbuf_getline_lf()
> callers", 2nd point.
>
> One instance I found was in wt-status.c. In read_rebase_todolist() the
> lines are read, checked for a comment_line_char and then trimmed. I
> wonder why the input is not trimmed before checking for this character?
> Is it safe to replace strbuf_getline_lf() by strbuf_getline() anyway?
>
> The only case I can imagine that could lead to unexpected behaviour then
> would be when someone sets the comment_line_char to CR. How likely is that?
>
> Why is the trim after checking for the comment char anyway? Should
> something like "   # foobar" not be considered as comment?

That is debatable, I would think, as "git commit" and others do not generally accept a line that does not begin with a comment char as a comment.

I however think we made an exception for the rebase-i's insn file due to a mistake we made long time ago that allowed such line, caused people to build a workflow around the assumption that it is OK to prefix a comment line with whitespaces.

  Cf. the last paragraph of 1db168ee (rebase-i: loosen over-eager
      check_bad_cmd check, 2015-10-01).
  Cf. http://thread.gmane.org/gmane.comp.version-control.git/278841
So we probably want to be consistent with that in this codepath.
Previous: Moritz Neeb
Message 3 of 3 in “Replacing strbuf_getline_lf() by strbuf_getline() in wt-status.c”
  1. Moritz NeebJan 30, 2016
  2. Moritz NeebJan 30, 2016
  3. Junio C HamanoJan 31, 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.