git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Johannes Sixt <j6t@kdbg.org>,
	Jonathan Nieder <jrnieder@gmail.com>,
	Philippe Blain <levraiphilippeblain@gmail.com>,
	Adam Spiers <git@adamspiers.org>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Chris Torek <chris.torek@gmail.com>
Subject: Re: [PATCH v4 05/10] userdiff: add and use for_each_userdiff_driver()
Date: Thu, 25 Mar 2021 00:05:09 +0100	[thread overview]
Message-ID: <87im5gp2ze.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <YFuPMMMYicFK6A/S@coredump.intra.peff.net>


On Wed, Mar 24 2021, Jeff King wrote:

> On Wed, Mar 24, 2021 at 02:48:47AM +0100, Ævar Arnfjörð Bjarmason wrote:
>
>> Refactor the userdiff_find_by_namelen() function so that a new
>> for_each_userdiff_driver() API function does most of the work.
>> 
>> This will be useful for the same reason we've got other for_each_*()
>> API functions as part of various APIs, and will be used in a follow-up
>> commit.
>
> The refactorings up to here all made sense, but TBH this one makes the
> code more confusing to follow to me.
>
> Perhaps part of it is just that the diff is messy, but I had to read it
> several times to understand what's going on. Here's what I think were
> the tricky parts:
>
>> -static struct userdiff_driver *userdiff_find_by_namelen(const char *k, size_t len)
>> +struct for_each_userdiff_driver_cb {
>> +	const char *k;
>> +	size_t len;
>> +	struct userdiff_driver *driver;
>> +};
>
> Our callback function does _one_ type of selection (based on a "type"
> parameter), but not another (based on the name). That feels
> inconsistent, but is also the reason we have this awkward struct.  Part
> of my confusion is the name: this is not something to be generically
> used with for_each_userdiff_driver(), but rather a type unique to
> find_by_namelen() to be passed through the opaque void pointer.
>
> So "struct find_by_namelen_data" would have been a lot more
> enlightening.
>
> The fact that callbacks are awkward in general in C might not be
> solvable, at least not without duplicating some iteration code.
>
>> +static int userdiff_find_by_namelen_cb(struct userdiff_driver *driver,
>> +				       enum userdiff_driver_type type, void *priv)
>>  {
>> [...]
>> +	if (!strncmp(driver->name, cb_data->k, cb_data->len) &&
>> +	    !driver->name[cb_data->len]) {
>> +		cb_data->driver = driver;
>> +		return -1; /* found it! */
>>  	}
>
> This "return -1" took me a while to grok, and the comment didn't help
> all that much. The point is to stop traversing the list, but "-1" to me
> signals error. I think returning "1" might be a bit more idiomatic, but
> also a comment that says "tell the caller to stop iterating" would have
> been more clear.

*nod*

Also thanks for all the reviewing so far both, I'm not replying to all
of it point-by-point here, will respond with a re-roll at some point.

>> +int for_each_userdiff_driver(each_userdiff_driver_fn fn,
>> +			     enum userdiff_driver_type type, void *cb_data)
>> +{
>> +	int i, ret;
>> +	if (type & (USERDIFF_DRIVER_TYPE_UNSPECIFIED | USERDIFF_DRIVER_TYPE_CUSTOM)) {
>> +
>> +		for (i = 0; i < ndrivers; i++) {
>> +			struct userdiff_driver *drv = drivers + i;
>> +			ret = fn(drv, USERDIFF_DRIVER_TYPE_CUSTOM, cb_data);
>> +			if (ret)
>> +				return ret;
>> +		}
>> +	}
>> +	if (type & (USERDIFF_DRIVER_TYPE_UNSPECIFIED | USERDIFF_DRIVER_TYPE_BUILTIN)) {
>> +
>> +		for (i = 0; i < ARRAY_SIZE(builtin_drivers); i++) {
>> +			struct userdiff_driver *drv = builtin_drivers + i;
>> +			ret = fn(drv, USERDIFF_DRIVER_TYPE_BUILTIN, cb_data);
>> +			if (ret)
>> +				return ret;
>> +		}
>> +	}
>> +	return 0;
>> +}
>
> I spent a while scratching my head at these types, and what they would
> be used for, since this caller doesn't introduce any. Looking at patch 7
> helped, though it's unclear to me why we need to distinguish between
> custom and builtin drivers there. As you note there, nobody calls
> list-custom-drivers nor list-drivers. And if we haven't configured
> anything, then wouldn't list-drivers be the same as list-builtin-drivers?
> Or for the purposes of that test, if we _did_ configure something,
>
>   As an aside, it feels like this is something we ought to be able to
>   ask git-config about, rather than having a test-helper. This is
>   basically "baked-in" config, and if we represented it as such, and
>   parsed it into a struct just like regular config, then probably "git
>   config --list --source" could be used to find it (and differentiate it
>   from user-provided config). Possible downsides:
>
>     1. Would people find it confusing that "git config --list" suddenly
>        gets way bigger? Maybe we'd want an "--include-baked-in" option
>        or something.
>
>     2. Is the cost of parsing the config measurably bad? Obviously a
>        user could provide the same content and we'd have to parse it,
>        but there's a lot more rules here than most users would probably
>        provide.

Also:

 3. Only the PATTERNS() macro translates as-is to config syntax. We
    don't have a way to do what IPATTERN() does in the config syntax
    currently.

    We could add a ifuncname and xifuncname or whatever for it I guess,
    but currently the ICASE behavior in the C code is magic.

>> +enum userdiff_driver_type {
>> +	USERDIFF_DRIVER_TYPE_UNSPECIFIED = 1<<0,
>> +	USERDIFF_DRIVER_TYPE_BUILTIN = 1<<1,
>> +	USERDIFF_DRIVER_TYPE_CUSTOM = 1<<2,
>> +};
>
> I was confused by these being bits, because some of them seem mutually
> exclusive (e.g., UNSPECIFIED and anything else).
>
> Perhaps it would make more sense as:
>
>   USERDIFF_DRIVER_TYPE_BUILTIN = 1<<0,
>   USERDIFF_DRIVER_TYPE_CUSTOM = 1<<0,
>   USERDIFF_DRIVER_TYPE_ALL = USERDIFF_DRIVER_TYPE_BUILTIN | USERDIFF_DRIVER_TYPE_CUSTOM
>
> Or the one caller who wants "ALL" could even do the OR themselves.
>
> I do kind of wonder if there's much value in having a single function
> with a type field at all, though, given that there's no overlap in the
> implementation. Would separate "for_each_custom" and "for_each_builtin"
> functions make sense? And then the existing caller would just call them
> sequentially.
>
> I dunno. I know a lot of this is nit-picking, and I don't think there's
> anything incorrect in this patch. I just found it surprisingly hard to
> read for something that purports to be refactoring / cleaning the code.
>
> -Peff


  parent reply	other threads:[~2021-03-24 23:05 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-13 19:24 [PATCH] userdiff: add support for Emacs Lisp Adam Spiers
2021-02-14  1:41 ` Ævar Arnfjörð Bjarmason
2021-02-14  8:12   ` Johannes Sixt
2021-02-14 11:10     ` Johannes Sixt
2021-02-14 18:25     ` Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 00/20] userdiff: refactor + test + doc + misc improvements Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 00/27] " Ævar Arnfjörð Bjarmason
2021-02-15 15:50           ` [PATCH 0/2] diff: do not display hunk context under -W Ævar Arnfjörð Bjarmason
2021-02-15 15:50           ` [PATCH 1/2] " Ævar Arnfjörð Bjarmason
2021-02-15 18:47             ` René Scharfe.
2021-02-15 19:24               ` Ævar Arnfjörð Bjarmason
2021-02-15 21:17                 ` René Scharfe.
2021-02-16  1:30             ` Junio C Hamano
2021-02-16  1:37               ` Junio C Hamano
2021-02-16  7:20               ` Johannes Sixt
2021-02-16 17:51                 ` Junio C Hamano
2021-02-15 15:50           ` [PATCH 2/2] diff: test and document -W interaction with -U<n> Ævar Arnfjörð Bjarmason
2021-02-16  7:26             ` Johannes Sixt
2021-02-15 17:45           ` [PATCH v2 00/27] userdiff: refactor + test + doc + misc improvements Eric Sunshine
2021-02-15 20:03           ` Johannes Sixt
2021-02-24 19:50           ` [PATCH v3 00/35] 20210215154427.32693-1-avarab@gmail.com Ævar Arnfjörð Bjarmason
2021-02-27  7:47             ` Johannes Sixt
2021-02-28 11:04               ` Johannes Sixt
2021-02-28 16:07                 ` Ævar Arnfjörð Bjarmason
2021-03-01  7:10                   ` Johannes Sixt
2021-03-24  1:48             ` [PATCH v4 00/10] userdiff: refactor + test improvements Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 01/10] userdiff: refactor away the parse_bool() function Ævar Arnfjörð Bjarmason
2021-03-24 18:47                 ` Jeff King
2021-03-24  1:48               ` [PATCH v4 02/10] userdiff style: re-order drivers in alphabetical order Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 03/10] userdiff style: declare patterns with consistent style Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 04/10] userdiff style: normalize pascal regex declaration Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 05/10] userdiff: add and use for_each_userdiff_driver() Ævar Arnfjörð Bjarmason
2021-03-24  4:50                 ` Junio C Hamano
2021-03-24 19:12                 ` Jeff King
2021-03-24 19:57                   ` Junio C Hamano
2021-03-24 20:43                     ` Jeff King
2021-03-24 23:05                   ` Ævar Arnfjörð Bjarmason [this message]
2021-03-25  0:33                     ` Jeff King
2021-03-25  1:26                       ` Ævar Arnfjörð Bjarmason
2021-03-26  3:27                         ` Jeff King
2021-04-09 19:44                           ` Ævar Arnfjörð Bjarmason
2021-04-09 20:11                             ` Jeff King
2021-04-09 22:37                               ` Junio C Hamano
2021-04-10 12:30                                 ` Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 06/10] userdiff tests: explicitly test "default" pattern Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 07/10] userdiff tests: list builtin drivers via test-tool Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 08/10] userdiff: remove support for "broken" tests Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 09/10] blame tests: don't rely on t/t4018/ directory Ævar Arnfjörð Bjarmason
2021-03-24  1:48               ` [PATCH v4 10/10] blame tests: simplify userdiff driver test Ævar Arnfjörð Bjarmason
2021-03-24 17:19               ` [PATCH v4 00/10] userdiff: refactor + test improvements Johannes Sixt
2021-03-24 19:02                 ` Junio C Hamano
2021-03-24 19:14                   ` Jeff King
2021-04-08 15:04               ` [PATCH v5 0/9] " Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 1/9] userdiff style: re-order drivers in alphabetical order Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 2/9] userdiff style: declare patterns with consistent style Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 3/9] userdiff style: normalize pascal regex declaration Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 4/9] userdiff: add and use for_each_userdiff_driver() Ævar Arnfjörð Bjarmason
2021-04-08 19:29                   ` Junio C Hamano
2021-04-08 15:04                 ` [PATCH v5 5/9] userdiff tests: explicitly test "default" pattern Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 6/9] userdiff tests: list builtin drivers via test-tool Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 7/9] userdiff: remove support for "broken" tests Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 8/9] blame tests: don't rely on t/t4018/ directory Ævar Arnfjörð Bjarmason
2021-04-08 15:04                 ` [PATCH v5 9/9] blame tests: simplify userdiff driver test Ævar Arnfjörð Bjarmason
2021-02-24 19:50           ` [PATCH v3 01/35] userdiff: refactor away the parse_bool() function Ævar Arnfjörð Bjarmason
2021-02-24 19:50           ` [PATCH v3 02/35] userdiff style: re-order drivers in alphabetical order Ævar Arnfjörð Bjarmason
2021-02-24 19:50           ` [PATCH v3 03/35] userdiff style: declare patterns with consistent style Ævar Arnfjörð Bjarmason
2021-02-24 19:50           ` [PATCH v3 04/35] userdiff style: normalize pascal regex declaration Ævar Arnfjörð Bjarmason
2021-02-24 19:50           ` [PATCH v3 05/35] userdiff: add and use for_each_userdiff_driver() Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 06/35] userdiff tests: explicitly test "default" pattern Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 07/35] userdiff tests: list builtin drivers via test-tool Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 08/35] userdiff: remove support for "broken" tests Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 09/35] blame tests: don't rely on t/t4018/ directory Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 10/35] blame tests: simplify userdiff driver test Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 11/35] userdiff tests: match full hunk headers Ævar Arnfjörð Bjarmason
2021-02-25  2:47             ` Junio C Hamano
2021-02-24 19:51           ` [PATCH v3 12/35] userdiff tests: change setup loop to individual test setup Ævar Arnfjörð Bjarmason
2021-02-25  2:52             ` Junio C Hamano
2021-02-25 18:28               ` Johannes Sixt
2021-02-25 19:06                 ` Junio C Hamano
2021-02-24 19:51           ` [PATCH v3 13/35] userdiff tests: factor out test_diff_funcname() logic Ævar Arnfjörð Bjarmason
2021-02-25  2:57             ` Junio C Hamano
2021-02-24 19:51           ` [PATCH v3 14/35] userdiff tests: add alternative hunk header test infrastructure Ævar Arnfjörð Bjarmason
2021-02-28 11:12             ` Johannes Sixt
2021-02-24 19:51           ` [PATCH v3 15/35] userdiff tests: add a test with multiple tests in a LANG file Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 16/35] userdiff tests: do config teardown in test_diff_funcname() Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 17/35] userdiff tests: move custom patterns into one test file Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 18/35] userdiff tests: remove hack for "RIGHT" token Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 19/35] userdiff tests: do not do compile tests on "custom" pattern Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 20/35] userdiff tests: assert that new built-in drivers have tests Ævar Arnfjörð Bjarmason
2021-02-28 10:34             ` Johannes Sixt
2021-02-28 15:51               ` Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 21/35] userdiff tests + docs: document & test "diff.<driver>.x?funcname" Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 22/35] gitattributes doc: reword discussion of built-in userdiff patterns Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 23/35] userdiff tests: move perl tests to perl.sh Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 24/35] userdiff tests: move away from "RIGHT" in perl.sh Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 25/35] gitattributes doc: document multi-line userdiff patterns Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 26/35] userdiff tests: switch to -U0 by default Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 27/35] userdiff tests: remove "funcname" from custom3 test Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 28/35] userdiff tests: assert empty hunk header context on -U<large> Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 29/35] userdiff tests: test for a bug in 1dbf0c0ad6c Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 30/35] userdiff golang: simplify and correct matching regex Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 31/35] userdiff golang: don't over-match intented constructs Ævar Arnfjörð Bjarmason
2021-02-26  7:59             ` Johannes Sixt
2021-02-24 19:51           ` [PATCH v3 32/35] userdiff golang: add a rule to match "package" Ævar Arnfjörð Bjarmason
2021-02-26  8:03             ` Johannes Sixt
2021-02-24 19:51           ` [PATCH v3 33/35] userdiff golang: match multi-line "const" and "import" Ævar Arnfjörð Bjarmason
2021-02-24 19:51           ` [PATCH v3 34/35] userdiff tests: add basic test for ada Ævar Arnfjörð Bjarmason
2021-02-27  7:26             ` Johannes Sixt
2021-02-24 19:51           ` [PATCH v3 35/35] userdiff tests: add basic test for ruby Ævar Arnfjörð Bjarmason
2021-02-27  7:30             ` Johannes Sixt
2021-02-15 15:44         ` [PATCH v2 01/27] userdiff: refactor away the parse_bool() function Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 02/27] userdiff style: re-order drivers in alphabetical order Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 03/27] userdiff style: declare patterns with consistent style Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 04/27] userdiff style: normalize pascal regex declaration Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 05/27] userdiff: add and use for_each_userdiff_driver() Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 06/27] userdiff tests: explicitly test "default" pattern Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 07/27] userdiff tests: list builtin drivers via test-tool Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 08/27] userdiff: remove support for "broken" tests Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 09/27] userdiff tests: match full hunk headers Ævar Arnfjörð Bjarmason
2021-02-15 17:13           ` Johannes Sixt
2021-02-15 18:48             ` Ævar Arnfjörð Bjarmason
2021-02-16 18:32             ` Junio C Hamano
2021-02-16 21:45               ` Johannes Sixt
2021-02-17  1:27                 ` Ævar Arnfjörð Bjarmason
2021-02-17 19:01                   ` Junio C Hamano
2021-02-23 13:11                     ` Ævar Arnfjörð Bjarmason
2021-02-23 21:02                       ` Johannes Sixt
2021-02-24 11:12                         ` Ævar Arnfjörð Bjarmason
2021-02-24 17:13                           ` Johannes Sixt
2021-02-17  2:03               ` Junio C Hamano
2021-02-17  2:13                 ` Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 10/27] blame tests: don't rely on t/t4018/ directory Ævar Arnfjörð Bjarmason
2021-02-16 23:49           ` Junio C Hamano
2021-02-15 15:44         ` [PATCH v2 11/27] blame tests: simplify userdiff driver test Ævar Arnfjörð Bjarmason
2021-02-15 17:23           ` Johannes Sixt
2021-02-17  1:33             ` Ævar Arnfjörð Bjarmason
2021-02-17  1:40               ` Junio C Hamano
2021-02-17  7:10               ` Johannes Sixt
2021-02-15 15:44         ` [PATCH v2 12/27] userdiff tests: rewrite hunk header test infrastructure Ævar Arnfjörð Bjarmason
2021-02-15 17:53           ` Johannes Sixt
2021-02-15 20:06             ` Ævar Arnfjörð Bjarmason
2021-02-15 20:29               ` Johannes Sixt
2021-02-16 18:35           ` Junio C Hamano
2021-02-15 15:44         ` [PATCH v2 13/27] userdiff tests: do config teardown in test_diff_funcname() Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 14/27] userdiff tests: move custom patterns into one test file Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 15/27] userdiff tests: remove hack for "RIGHT" token Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 16/27] userdiff tests: do not do compile tests on "custom" pattern Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 17/27] userdiff tests + docs: document & test "diff.<driver>.x?funcname" Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 18/27] gitattributes doc: reword discussion of built-in userdiff patterns Ævar Arnfjörð Bjarmason
2021-02-16 23:57           ` Junio C Hamano
2021-02-15 15:44         ` [PATCH v2 19/27] gitattributes doc: document multi-line " Ævar Arnfjörð Bjarmason
2021-02-15 18:18           ` Johannes Sixt
2021-02-15 19:01             ` Ævar Arnfjörð Bjarmason
2021-02-17  0:03           ` Junio C Hamano
2021-02-15 15:44         ` [PATCH v2 20/27] userdiff tests: remove "funcname" from custom3 test Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 21/27] userdiff tests: factor out test_diff_funcname() logic Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 22/27] userdiff tests: test hunk headers on accumulated files Ævar Arnfjörð Bjarmason
2021-02-15 18:29           ` Johannes Sixt
2021-02-15 15:44         ` [PATCH v2 23/27] userdiff tests: test hunk header selection with -U0 Ævar Arnfjörð Bjarmason
2021-02-15 19:09           ` Johannes Sixt
2021-02-15 15:44         ` [PATCH v2 24/27] userdiff tests: assert empty hunk header context on -U<large> Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 25/27] userdiff: match "package" in diff=golang Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 26/27] userdiff tests: add basic test for ada Ævar Arnfjörð Bjarmason
2021-02-15 15:44         ` [PATCH v2 27/27] userdiff tests: add basic test for ruby Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 01/20] userdiff: refactor away the parse_bool() function Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 02/20] userdiff: re-order builtin drivers in alphabetical order Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 03/20] userdiff: add and use for_each_userdiff_driver() Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 04/20] userdiff tests: explicitly test "default" pattern Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 05/20] userdiff tests: list builtin drivers via test-tool Ævar Arnfjörð Bjarmason
2021-02-15  1:24         ` Eric Sunshine
2021-02-15  0:52       ` [PATCH 06/20] userdiff: remove support for "broken" tests Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 07/20] userdiff tests: match full hunk headers Ævar Arnfjörð Bjarmason
2021-02-15  1:35         ` Eric Sunshine
2021-02-15  0:52       ` [PATCH 08/20] userdiff tests: rewrite hunk header test infrastructure Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 09/20] blame tests: don't rely on t/t4018/ directory Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 10/20] userdiff tests: move custom patterns into one test file Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 11/20] userdiff tests: remove hack for "RIGHT" token Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 12/20] userdiff: match "package" in diff=golang Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 13/20] userdiff tests + docs: document & test "diff.<driver>.x?funcname" Ævar Arnfjörð Bjarmason
2021-02-15  3:16         ` Eric Sunshine
2021-02-15  0:52       ` [PATCH 14/20] gitattributes doc: reword discussion of built-in userdiff patterns Ævar Arnfjörð Bjarmason
2021-02-15  3:26         ` Eric Sunshine
2021-02-15  0:52       ` [PATCH 15/20] gitattributes doc: document multi-line " Ævar Arnfjörð Bjarmason
2021-02-15  3:16         ` Chris Torek
2021-02-15  3:36         ` Eric Sunshine
2021-02-15  0:52       ` [PATCH 16/20] userdiff tests: remove "funcname" from custom3 test Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 17/20] userdiff tests: factor out test_diff_funcname() logic Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 18/20] userdiff tests: test hunk headers on accumulated files Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 19/20] userdiff tests: test hunk header selection with -U0 Ævar Arnfjörð Bjarmason
2021-02-15  0:52       ` [PATCH 20/20] userdiff tests: assert empty hunk header context on -U<large> Ævar Arnfjörð Bjarmason
2021-02-16  8:26       ` [PATCH] userdiff: add support for Emacs Lisp Protesilaos Stavrou
2021-02-16 11:13         ` Ævar Arnfjörð Bjarmason

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87im5gp2ze.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=chris.torek@gmail.com \
    --cc=git@adamspiers.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j6t@kdbg.org \
    --cc=jrnieder@gmail.com \
    --cc=levraiphilippeblain@gmail.com \
    --cc=peff@peff.net \
    --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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).