All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Han-Wen Nienhuys <hanwen@google.com>
Cc: "Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@gmail.com>,
	git@vger.kernel.org, "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	"Elijah Newren" <newren@gmail.com>,
	"Han-Wen Nienhuys" <hanwenn@gmail.com>
Subject: Re: [PATCH v2 5/5] refs/debug: trim trailing LF from reflog message
Date: Mon, 29 Nov 2021 11:19:59 -0800	[thread overview]
Message-ID: <xmqq1r2y7ork.fsf@gitster.g> (raw)
In-Reply-To: <CAFQ2z_N20ESyzkPLdGbS9q8HEHGB7_gmaX8FUBR=jGqXLGcL1Q@mail.gmail.com> (Han-Wen Nienhuys's message of "Mon, 29 Nov 2021 19:29:18 +0100")

Han-Wen Nienhuys <hanwen@google.com> writes:

> On Fri, Nov 26, 2021 at 9:16 AM Junio C Hamano <gitster@pobox.com> wrote:
>>
>> The API promises to have only LF, not CRLF, at the end, so
>> strbuf_trim_trailing_newline() is a bit overkill (and if payload
>> happened to end with CR, we would lose it).
>
> it would be best if there was a way to escape characters (ie. "\n" =>
> "\\n"). Do we have a function for that?

Mere escaping would not work in a backward compatible way, without a
trick.  It was envisioned that we probably could encode *and* signal
the fact that the message is encoded by appending a trailing SP at
the end of the message.  See the log message of 523fa69c (reflog:
cleanse messages in the refs.c layer, 2020-07-10) for details.

Having said that, that is about introducing a whole new reflog
message format (whose use is signalled by the trailing SP), and I
would prefer it to happen

 (1) after we integrate with reftable, and

 (2) implemented as an option in the normalize_reflog_message()
     function, so that no ref backends has to worry about it.

outside this topic.

> I beg to differ - despite this being fewer lines of code, I think
> pointer arithmetic is best avoided if possible.

I think repeated allocation and deallocation is best avoided, and
that is why I recommended it.  I do not see anything to fear in
poiter arithmetic, as long as it is done clearly (e.g. in a narrow
scope) and correctly.

If trace_printf() does not allow counted bytes "%.*s", the whole
discussion is moot; I didn't go back to check.

  reply	other threads:[~2021-11-29 19:22 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-22 14:20 [PATCH 0/4] Inspect reflog data programmatically in more tests Han-Wen Nienhuys via GitGitGadget
2021-11-22 14:20 ` [PATCH 1/4] show-branch: show reflog message Han-Wen Nienhuys via GitGitGadget
2021-11-22 22:22   ` Junio C Hamano
2021-11-23  7:40   ` Bagas Sanjaya
2021-11-23  8:03     ` Elijah Newren
2021-11-22 14:20 ` [PATCH 2/4] refs: trim newline from " Han-Wen Nienhuys via GitGitGadget
2021-11-22 22:27   ` Junio C Hamano
2021-11-23 16:35     ` Han-Wen Nienhuys
2021-11-23 17:09       ` Junio C Hamano
2021-11-23 17:28         ` Han-Wen Nienhuys
2021-11-23 20:34           ` Junio C Hamano
2021-11-24 11:17             ` Han-Wen Nienhuys
2021-11-24 18:53               ` Junio C Hamano
2021-11-24 19:06                 ` Han-Wen Nienhuys
2021-11-24 20:55                   ` Junio C Hamano
2021-11-25 16:00                     ` Han-Wen Nienhuys
2021-11-29  2:30                       ` Junio C Hamano
2021-11-24 19:26               ` Junio C Hamano
2021-11-24 19:39                 ` Han-Wen Nienhuys
2021-11-26  8:35             ` Re* " Junio C Hamano
2021-11-28 17:50               ` Ævar Arnfjörð Bjarmason
2021-11-28 18:59                 ` Junio C Hamano
2021-11-28 19:25                   ` Junio C Hamano
2021-11-29  8:39                     ` Ævar Arnfjörð Bjarmason
2021-11-23 10:24   ` Ævar Arnfjörð Bjarmason
2021-11-23 16:44     ` Han-Wen Nienhuys
2021-11-22 14:20 ` [PATCH 3/4] test-ref-store: tweaks to for-each-reflog-ent format Han-Wen Nienhuys via GitGitGadget
2021-11-22 22:31   ` Junio C Hamano
2021-11-23 17:06     ` Han-Wen Nienhuys
2021-11-23 18:31       ` Junio C Hamano
2021-11-22 14:20 ` [PATCH 4/4] t1400: use test-helper ref-store to inspect reflog contents Han-Wen Nienhuys via GitGitGadget
2021-11-22 15:20   ` Ævar Arnfjörð Bjarmason
2021-11-22 17:07     ` Han-Wen Nienhuys
2021-11-22 22:22   ` Junio C Hamano
2021-11-25 15:57 ` [PATCH v2 0/5] Inspect reflog data programmatically in more tests Han-Wen Nienhuys via GitGitGadget
2021-11-25 15:57   ` [PATCH v2 1/5] show-branch: show reflog message Han-Wen Nienhuys via GitGitGadget
2021-11-25 15:57   ` [PATCH v2 2/5] test-ref-store: don't add newline to " Han-Wen Nienhuys via GitGitGadget
2021-11-26  7:56     ` Junio C Hamano
2021-11-25 15:57   ` [PATCH v2 3/5] t1405: check for_each_reflog_ent_reverse() more thoroughly Han-Wen Nienhuys via GitGitGadget
2021-11-25 15:57   ` [PATCH v2 4/5] test-ref-store: tweaks to for-each-reflog-ent format Han-Wen Nienhuys via GitGitGadget
2021-11-26  8:02     ` Junio C Hamano
2021-11-25 15:57   ` [PATCH v2 5/5] refs/debug: trim trailing LF from reflog message Han-Wen Nienhuys via GitGitGadget
2021-11-26  8:16     ` Junio C Hamano
2021-11-29 18:29       ` Han-Wen Nienhuys
2021-11-29 19:19         ` Junio C Hamano [this message]
2021-11-29 19:35           ` Junio C Hamano
2021-12-02 16:24           ` Han-Wen Nienhuys
2021-12-02 18:36             ` Junio C Hamano
2021-11-29 20:59         ` Ævar Arnfjörð Bjarmason
2021-11-29  9:50   ` [PATCH v2 0/5] Inspect reflog data programmatically in more tests Ævar Arnfjörð Bjarmason
2021-11-29 18:24     ` Han-Wen Nienhuys
2021-11-29 22:30       ` Junio C Hamano
2021-11-29 23:28       ` Ævar Arnfjörð Bjarmason
2021-12-02 16:11         ` Han-Wen Nienhuys
2021-12-02 17:36   ` [PATCH v3 " Han-Wen Nienhuys via GitGitGadget
2021-12-02 17:36     ` [PATCH v3 1/5] show-branch: show reflog message Han-Wen Nienhuys via GitGitGadget
2021-12-02 17:36     ` [PATCH v3 2/5] test-ref-store: don't add newline to " Han-Wen Nienhuys via GitGitGadget
2021-12-02 17:36     ` [PATCH v3 3/5] t1405: check for_each_reflog_ent_reverse() more thoroughly Han-Wen Nienhuys via GitGitGadget
2021-12-02 17:36     ` [PATCH v3 4/5] test-ref-store: tweaks to for-each-reflog-ent format Han-Wen Nienhuys via GitGitGadget
2021-12-02 17:36     ` [PATCH v3 5/5] refs/debug: trim trailing LF from reflog message Han-Wen Nienhuys 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=xmqq1r2y7ork.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=hanwen@google.com \
    --cc=hanwenn@gmail.com \
    --cc=newren@gmail.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.