Subject: Re: [PATCH v6 14/16] refs/iterator: implement seeking for packed-ref iterators

From: "brian m. carlson" <[email-masked]>
Date: Thu, 3 Apr 2025 22:18:31 +0000

On 2025-04-03 at 19:56:39, Elijah Newren wrote:
> In this case, the utf-8 characters will have individual bytes whose
> values are greater than 127, which for a signed character will be
> represented by a negative number.  I tried tweaking the loop to:
> 
>         while (prefix && *prefix) {
>             if ((unsigned char)*refname < (unsigned char)*prefix) {
>                 printf("Comparing %d to %d\n",
>                        *refname, *prefix);
>                 printf("Comparing %s to %s\n",
>                        refname, prefix);
>                 BUG("packed-refs backend yielded reference preceding
> its prefix");

I was mentioning this to Elijah earlier, but I think we might want to
use more emojis in testing things like refs and other text patterns in
our testsuite.  Because most of them are in astral planes, that will
help us exercise our UTF-8 and UTF-16 surrogate handling, which is also
relevant to a variety of languages, like Chinese, which we obviously
want to support but which contributors may be less familiar with.  Since
emoji are more universal, it's easier for anyone to add a test for these
kinds of cases and we might be able to catch some of these kinds of
things earlier.

That's in addition to the fact that many people use emojis in things
like commit messages because they're fun and we want to make those work.

Next time I'm sending patches, I'll endeavour to cover a wider variety
of codepoints in my testing.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA