"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: small simplification for got_pack_paint_commits()
To:
Omar Polo <op@omarpolo.com>
Cc:
gameoftrees@openbsd.org
Date:
Wed, 20 Aug 2025 16:39:05 +0200

Download raw body.

Thread
On Wed, Aug 20, 2025 at 04:07:25PM +0200, Omar Polo wrote:
> just as per subject; hit this bit while debugging the coloring and
> wanted to untangle it a little bit.
> 
> (actually i'm still unsure whether we can just goto done in case of an
> error and only then eventually remove the id from the queue, which would
> feel a little bit more natural.)

Sure, ok.

> diff /home/op/w/got
> path + /home/op/w/got
> commit - 2d67dc3aa72fb921c2b7ddcf2af6814acf2784c2
> blob - c29bd335ba24926a633d0fdfb8bbfb2624c42d73
> file + lib/pack_create_privsep.c
> --- lib/pack_create_privsep.c
> +++ lib/pack_create_privsep.c
> @@ -447,17 +447,15 @@ got_pack_paint_commits(int *ncolored, struct got_objec
>  				    ids, keep, drop, skip, repo,
>  				    progress_cb, progress_arg, rl,
>  				    cancel_cb, cancel_arg);
> -				if (err && qid == NULL)
> -					goto done;
>  				if (qid) {
>  					STAILQ_REMOVE(ids, qid,
>  					    got_object_qid, entry);
>  					nqueued--;
>  					got_object_qid_free(qid);
>  					qid = NULL;
> -					if (err)
> -						goto done;
>  				}
> +				if (err)
> +					goto done;
>  				continue;
>  			}
>  		}
> 
>