git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: Ezekiel Newren via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Cc: Elijah Newren <newren@gmail.com>,
	Phillip Wood <phillip.wood123@gmail.com>,
	Ben Knoble <ben.knoble@gmail.com>, Jeff King <peff@peff.net>,
	Ezekiel Newren <ezekielnewren@gmail.com>
Subject: Re: [PATCH v5 12/13] xdiff: use enum macros NONE(0), SOME(1), TOO_MANY(2) in xprepare.c
Date: Wed, 24 Sep 2025 11:21:54 +0100	[thread overview]
Message-ID: <311f7dbe-b970-4a5b-9d53-05f019cc54cd@gmail.com> (raw)
In-Reply-To: <08a0fceb72b2bd0a2803d24b9874b7f9bd03703a.1758662670.git.gitgitgadget@gmail.com>

On 23/09/2025 22:24, Ezekiel Newren via GitGitGadget wrote:
> From: Ezekiel Newren <ezekielnewren@gmail.com>
> 
> Rename dis1, dis2 to matches1, matches2.
> 
> Define macros NONE(0), SOME(1), TOO_MANY(2) as the enum values for
> matches1 and matches2. These states will influence whether changed[i]
> is set to 1 or kept as 0.

This message also says what is being changed rather than why it is being 
changed. I think the rename here is a good idea but I'm not sure what 
"rdis[01]" and "rpdis[01]" are used for and whether they should be 
renamed if we're renaming "dis[01]"

>   	/*
> -	 * Limits the window the is examined during the similar-lines
> -	 * scan. The loops below stops when dis[i - r] == 1 (line that
> +	 * Limits the window that is examined during the similar-lines
> +	 * scan. The loops below stops when matches[i - r] == SOME (line that

Thanks for updating the comments. Not reflowing the lines makes the diff 
easier to read but leaves the comments in a rather strange state with 
random long lines.

>   	 * has no match), but there are corner cases where the loop
>   	 * proceed all the way to the extremities by causing huge
>   	 * performance penalties in case of big files.
> @@ -207,40 +210,44 @@ static int xdl_clean_mmatch(char const *dis, long i, long s, long e) {
>   
>   	/*
>   	 * Scans the lines before 'i' to find a run of lines that either
> -	 * have no match (dis[j] == 0) or have multiple matches (dis[j] > 1).
> -	 * Note that we always call this function with dis[i] > 1, so the
> +	 * have no match (matches[j] == NONE) or have multiple matches (matches[j] == TOO_MANY).
> +	 * Note that we always call this function with matches[i] == TOO_MANY, so the

especially here

> -		if (!dis[i + r])
> +		if (matches[i + r] == NONE)
>   			rdis1++;
> -		else if (dis[i + r] == 2)
> +		else if (matches[i + r] == TOO_MANY)
>   			rpdis1++;
> -		else
> +		else if (matches[i + r] == SOME)
>   			break;
> +		else
> +			BUG("Illegal value for matches[i + r]");

Nice addition

>   static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xdf2) {
>   	long i, nm, nreff, mlim;
>   	xrecord_t *recs;
>   	xdlclass_t *rcrec;
> -	char *dis, *dis1, *dis2;
> -	int need_min = !!(cf->flags & XDF_NEED_MINIMAL);
> +	uint8_t *matches1, *matches2;

Let's initialize these where they're declared rather than later on

> +	int status = 0;
I think we typically we call this "ret" or "res" in the rest of the code 
base.

> +	bool need_min = !!(cf->flags & XDF_NEED_MINIMAL);

Nice use of bool, strictly speaking I don't think we need the !! if 
we're changing the type from int. I think Junio recently suggested that 
we might start using (bool) instead of !! for cases like this.

Everything below this looks good, though some of the lines are getting 
quite long with the renamed variables and symbolic values so we might 
want to break them.

Thanks

Phillip


> -	if (!XDL_CALLOC_ARRAY(dis, xdf1->nrec + xdf2->nrec + 2))
> -		return -1;
> -	dis1 = dis;
> -	dis2 = dis1 + xdf1->nrec + 1;
> +	matches1 = NULL;
> +	matches2 = NULL;
> +
> +	/*
> +	 * Create temporary arrays that will help us decide if
> +	 * changed[i] should remain 0 or become 1.
> +	 */
> +	if (!XDL_CALLOC_ARRAY(matches1, xdf1->nrec + 1)) {
> +		status = -1;
> +		goto cleanup;
> +	}
> +	if (!XDL_CALLOC_ARRAY(matches2, xdf2->nrec + 1)) {
> +		status = -1;
> +		goto cleanup;
> +	}
>   
> +	/*
> +	 * Initialize temporary arrays with NONE, SOME, or TOO_MANY.
> +	 */
>   	if ((mlim = xdl_bogosqrt(xdf1->nrec)) > XDL_MAX_EQLIMIT)
>   		mlim = XDL_MAX_EQLIMIT;
>   	for (i = xdf1->dstart, recs = &xdf1->recs[xdf1->dstart]; i <= xdf1->dend; i++, recs++) {
>   		rcrec = cf->rcrecs[recs->ha];
>   		nm = rcrec ? rcrec->len2 : 0;
> -		dis1[i] = (nm == 0) ? 0: (nm >= mlim && !need_min) ? 2: 1;
> +		matches1[i] = (nm == 0) ? NONE: (nm >= mlim && !need_min) ? TOO_MANY: SOME;
>   	}
>   
>   	if ((mlim = xdl_bogosqrt(xdf2->nrec)) > XDL_MAX_EQLIMIT)
> @@ -278,14 +300,19 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd
>   	for (i = xdf2->dstart, recs = &xdf2->recs[xdf2->dstart]; i <= xdf2->dend; i++, recs++) {
>   		rcrec = cf->rcrecs[recs->ha];
>   		nm = rcrec ? rcrec->len1 : 0;
> -		dis2[i] = (nm == 0) ? 0: (nm >= mlim && !need_min) ? 2: 1;
> +		matches2[i] = (nm == 0) ? NONE: (nm >= mlim && !need_min) ? TOO_MANY: SOME;
>   	}
>   
> +	/*
> +	 * Use temporary arrays to decide if changed[i] should remain
> +	 * 0 or become 1.
> +	 */
>   	for (nreff = 0, i = xdf1->dstart, recs = &xdf1->recs[xdf1->dstart];
>   	     i <= xdf1->dend; i++, recs++) {
> -		if (dis1[i] == 1 ||
> -		    (dis1[i] == 2 && !xdl_clean_mmatch(dis1, i, xdf1->dstart, xdf1->dend))) {
> +		if (matches1[i] == SOME ||
> +		    (matches1[i] == TOO_MANY && !xdl_clean_mmatch(matches1, i, xdf1->dstart, xdf1->dend))) {
>   			xdf1->rindex[nreff++] = i;
> +			/* changed[i] remains 0 */
>   		} else
>   			xdf1->changed[i] = 1;
>   	}
> @@ -293,17 +320,20 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd
>   
>   	for (nreff = 0, i = xdf2->dstart, recs = &xdf2->recs[xdf2->dstart];
>   	     i <= xdf2->dend; i++, recs++) {
> -		if (dis2[i] == 1 ||
> -		    (dis2[i] == 2 && !xdl_clean_mmatch(dis2, i, xdf2->dstart, xdf2->dend))) {
> +		if (matches2[i] == SOME ||
> +		    (matches2[i] == TOO_MANY && !xdl_clean_mmatch(matches2, i, xdf2->dstart, xdf2->dend))) {
>   			xdf2->rindex[nreff++] = i;
> +			/* changed[i] remains 0 */
>   		} else
>   			xdf2->changed[i] = 1;
>   	}
>   	xdf2->nreff = nreff;
>   
> -	xdl_free(dis);
> +cleanup:
> +	xdl_free(matches1);
> +	xdl_free(matches2);
>   
> -	return 0;
> +	return status;
>   }
>   
>   

  reply	other threads:[~2025-09-24 10:21 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-07 19:45 [PATCH 00/17] Use rust types in xdiff Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 01/17] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-09  8:55   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 02/17] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-09  8:56   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 03/17] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-09  8:56   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 04/17] xdiff: delete xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-09  8:56   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 05/17] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-09  8:56   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 06/17] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-09  8:57   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 07/17] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-09  8:57   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 08/17] xdiff: delete chastore from xdfile_t, view with --color-words Ezekiel Newren via GitGitGadget
2025-09-09  8:58   ` Elijah Newren
2025-09-09 13:50     ` Phillip Wood
2025-09-09 20:33     ` Junio C Hamano
2025-09-10 22:02     ` Ben Knoble
2025-09-07 19:45 ` [PATCH 09/17] xdiff: treat xdfile_t.rchg like an enum Ezekiel Newren via GitGitGadget
2025-09-09  8:58   ` Elijah Newren
2025-09-07 19:45 ` [PATCH 10/17] compat/rust_types.h: define rust primitive types Ezekiel Newren via GitGitGadget
2025-09-08 15:08   ` Junio C Hamano
2025-09-08 16:15     ` Ezekiel Newren
2025-09-07 19:45 ` [PATCH 11/17] xdiff: include compat/rust_types.h Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 12/17] xdiff: make xrecord_t.ptr a u8 instead of char Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 13/17] xdiff: make xrecord_t.size a usize instead of long Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 14/17] xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 15/17] xdiff: make xdfile_t.nrec a usize instead of long Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 16/17] xdiff: make xdfile_t.nreff " Ezekiel Newren via GitGitGadget
2025-09-07 19:45 ` [PATCH 17/17] xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t Ezekiel Newren via GitGitGadget
2025-09-16 21:56 ` [PATCH 00/17] Use rust types in xdiff Junio C Hamano
2025-09-16 22:01   ` Ezekiel Newren
2025-09-17  2:16     ` Elijah Newren
2025-09-17 13:53       ` Junio C Hamano
2025-09-17  6:22     ` Junio C Hamano
2025-09-18 23:56 ` [PATCH v2 00/10] " Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 01/10] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 02/10] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 03/10] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 04/10] xdiff: delete xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 05/10] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 06/10] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 07/10] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 08/10] xdiff: delete chastore from xdfile_t Ezekiel Newren via GitGitGadget
2025-09-18 23:56   ` [PATCH v2 10/10] xdiff: treat xdfile_t.rchg like an enum Ezekiel Newren via GitGitGadget
2025-09-19  0:33   ` [PATCH v2 00/10] Use rust types in xdiff Junio C Hamano
2025-09-19  0:41     ` Ezekiel Newren
2025-09-19 15:15     ` Ezekiel Newren
2025-09-19 15:16   ` [PATCH v3 00/10] Cleanup xdfile_t and xrecord_t " Ezekiel Newren via GitGitGadget
2025-09-19 15:16     ` [PATCH v3 01/10] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-20 17:16       ` Junio C Hamano
2025-09-20 17:41         ` Ezekiel Newren
2025-09-20 18:31           ` Elijah Newren
2025-09-20 22:25             ` Ben Knoble
2025-09-20 22:43             ` Junio C Hamano
2025-09-20 17:46         ` Ben Knoble
2025-09-20 18:46           ` Jeff King
2025-09-20 22:25             ` Ben Knoble
2025-09-20 22:52             ` Junio C Hamano
2025-09-20 23:15               ` Jeff King
2025-09-19 15:16     ` [PATCH v3 02/10] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-20 17:36       ` Junio C Hamano
2025-09-19 15:16     ` [PATCH v3 03/10] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-19 15:16     ` [PATCH v3 04/10] xdiff: delete xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-20 17:48       ` Junio C Hamano
2025-09-21 13:06       ` Phillip Wood
2025-09-21 15:07         ` Ezekiel Newren
2025-09-19 15:16     ` [PATCH v3 05/10] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-21 13:06       ` Phillip Wood
2025-09-21 16:03         ` Ezekiel Newren
2025-09-19 15:16     ` [PATCH v3 06/10] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-19 15:16     ` [PATCH v3 07/10] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-21 13:06       ` Phillip Wood
2025-09-21 16:07         ` Ezekiel Newren
2025-09-19 15:16     ` [PATCH v3 08/10] xdiff: delete chastore from xdfile_t Ezekiel Newren via GitGitGadget
2025-09-19 15:16     ` [PATCH v3 09/10] xdiff: delete rchg aliasing Ezekiel Newren via GitGitGadget
2025-09-21 13:07       ` Phillip Wood
2025-09-21 16:37         ` Ezekiel Newren
2025-09-19 15:16     ` [PATCH v3 10/10] xdiff: treat xdfile_t.rchg like an enum Ezekiel Newren via GitGitGadget
2025-09-21  0:00       ` Junio C Hamano
2025-09-21  0:38         ` Ezekiel Newren
2025-09-21  9:19           ` Phillip Wood
2025-09-21 16:11             ` Ezekiel Newren
2025-09-19 23:30     ` [PATCH v3 00/10] Cleanup xdfile_t and xrecord_t in xdiff Elijah Newren
2025-09-19 23:37       ` Ezekiel Newren
2025-09-22 19:51     ` [PATCH v4 00/12] " Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 01/12] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 02/12] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 03/12] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 04/12] xdiff: delete superfluous function xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 05/12] xdiff: delete superfluous local variables that alias fields in xrecord_t Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 06/12] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 07/12] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 08/12] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 09/12] xdiff: delete chastore from xdfile_t Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 10/12] xdiff: delete rchg aliasing Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 11/12] xdiff: use bool literals for xdfile_t.rchg Ezekiel Newren via GitGitGadget
2025-09-22 19:51       ` [PATCH v4 12/12] xdiff: refactor 'char *rchg' to 'bool *changed' in xdfile_t Ezekiel Newren via GitGitGadget
2025-09-22 22:39       ` [PATCH v4 00/12] Cleanup xdfile_t and xrecord_t in xdiff Junio C Hamano
2025-09-23  0:13         ` Ezekiel Newren
2025-09-23  1:06           ` Junio C Hamano
2025-09-23  1:30             ` Ezekiel Newren
2025-09-23 14:12               ` Junio C Hamano
2025-09-23 16:50                 ` Ezekiel Newren
2025-09-23 21:24       ` [PATCH v5 00/13] " Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 01/13] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 02/13] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 03/13] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 04/13] xdiff: delete superfluous function xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-30 13:31           ` Kristoffer Haugsbakk
2025-09-30 19:35             ` Ezekiel Newren
2025-09-30 20:05               ` Junio C Hamano
2025-09-23 21:24         ` [PATCH v5 05/13] xdiff: delete superfluous local variables that alias fields in xrecord_t Ezekiel Newren via GitGitGadget
2025-09-24 10:22           ` Phillip Wood
2025-09-24 14:52             ` Ezekiel Newren
2025-09-23 21:24         ` [PATCH v5 06/13] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 07/13] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 08/13] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 09/13] xdiff: delete chastore from xdfile_t Ezekiel Newren via GitGitGadget
2025-09-23 21:24         ` [PATCH v5 10/13] xdiff: delete rchg aliasing Ezekiel Newren via GitGitGadget
2025-09-24 10:22           ` Phillip Wood
2025-09-24 15:01             ` Ezekiel Newren
2025-09-24 15:34               ` Junio C Hamano
2025-09-24 15:58                 ` Ezekiel Newren
2025-09-24 21:31                   ` Junio C Hamano
2025-09-24 22:46                     ` Ezekiel Newren
2025-09-25  7:09                       ` Junio C Hamano
2025-09-25 22:02                         ` Ezekiel Newren
2025-09-23 21:24         ` [PATCH v5 11/13] xdiff: rename rchg -> changed in xdfile_t Ezekiel Newren via GitGitGadget
2025-09-24 10:22           ` Phillip Wood
2025-09-24 15:10             ` Ezekiel Newren
2025-09-24 15:18               ` Phillip Wood
2025-09-23 21:24         ` [PATCH v5 12/13] xdiff: use enum macros NONE(0), SOME(1), TOO_MANY(2) in xprepare.c Ezekiel Newren via GitGitGadget
2025-09-24 10:21           ` Phillip Wood [this message]
2025-09-24 14:46             ` Ezekiel Newren
2025-09-24 15:18               ` Phillip Wood
2025-09-24 17:29                 ` Junio C Hamano
2025-09-25 18:40                 ` Ezekiel Newren
2025-09-26  2:29                   ` Ezekiel Newren
2025-09-23 21:24         ` [PATCH v5 13/13] xdiff: change type of xdfile_t.changed from char to bool Ezekiel Newren via GitGitGadget
2025-09-24 10:21           ` Phillip Wood
2025-09-24 15:14             ` Ezekiel Newren
2025-09-26 22:41         ` [PATCH v6 00/12] Cleanup xdfile_t and xrecord_t in xdiff Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 01/12] xdiff: delete static forward declarations in xprepare Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 02/12] xdiff: delete local variables and initialize/free xdfile_t directly Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 03/12] xdiff: delete unnecessary fields from xrecord_t and xdfile_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 04/12] xdiff: delete superfluous function xdl_get_rec() in xemit Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 05/12] xdiff: delete local variables that alias fields in xrecord_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 06/12] xdiff: delete struct diffdata_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 07/12] xdiff: delete redundant array xdfile_t.ha Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 08/12] xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 09/12] xdiff: delete chastore from xdfile_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 10/12] xdiff: rename rchg -> changed in xdfile_t Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 11/12] xdiff: add macros DISCARD(0), KEEP(1), INVESTIGATE(2) in xprepare.c Ezekiel Newren via GitGitGadget
2025-09-26 22:41           ` [PATCH v6 12/12] xdiff: change type of xdfile_t.changed from char to bool Ezekiel Newren via GitGitGadget
2025-10-03 13:47           ` [PATCH v6 00/12] Cleanup xdfile_t and xrecord_t in xdiff Phillip Wood

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=311f7dbe-b970-4a5b-9d53-05f019cc54cd@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=ben.knoble@gmail.com \
    --cc=ezekielnewren@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    /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 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 NNTP newsgroup(s).