# [PATCH] sequencer: remove todo_add_branch_context.commit

2 messages from 2026-05-11 to 2026-05-12. Participants: Abhinav Gupta via GitGitGadget, Patrick Steinhardt.
Thread: https://gitlist.dev/t/65614

## Abhinav Gupta via GitGitGadget, 2026-05-11 12:21

Subject: [PATCH] sequencer: remove todo_add_branch_context.commit
Message-ID: <pull.2111.git.1778502113485.gitgitgadget@gmail.com>

```
From: Abhinav Gupta <mail@abhinavg.net>

The 'commit' field in 'struct todo_add_branch_context' is unused.
It's written to, but never read from.
add_decorations_to_list() gets the commit passed to it explicitly
as an argument.

Signed-off-by: Abhinav Gupta <mail@abhinavg.net>
---
    sequencer: remove todo_add_branch_context.commit

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2111%2Fabhinav%2Fsequencer-todoctx-rm-commit-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2111/abhinav/sequencer-todoctx-rm-commit-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2111

 sequencer.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index b7d8dca47f..19839da1e6 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -6409,7 +6409,6 @@ struct todo_add_branch_context {
 	size_t items_nr;
 	size_t items_alloc;
 	struct strbuf *buf;
-	struct commit *commit;
 	struct string_list refs_to_oids;
 };
 
@@ -6498,7 +6497,6 @@ static int todo_list_add_update_ref_commands(struct todo_list *todo_list)
 		ctx.items[ctx.items_nr++] = todo_list->items[i++];
 
 		if (item->commit) {
-			ctx.commit = item->commit;
 			add_decorations_to_list(item->commit, &ctx);
 		}
 	}

base-commit: 94f057755b7941b321fd11fec1b2e3ca5313a4e0
-- 
gitgitgadget

```

## Patrick Steinhardt, 2026-05-12 06:36

Subject: Re: [PATCH] sequencer: remove todo_add_branch_context.commit
Message-ID: <agLKVn6RF4UBYd_8@pks.im>
In-Reply-To: <pull.2111.git.1778502113485.gitgitgadget@gmail.com>

```
On Mon, May 11, 2026 at 12:21:53PM +0000, Abhinav Gupta via GitGitGadget wrote:
> From: Abhinav Gupta <mail@abhinavg.net>
> 
> The 'commit' field in 'struct todo_add_branch_context' is unused.
> It's written to, but never read from.
> add_decorations_to_list() gets the commit passed to it explicitly
> as an argument.

To add some historic flavor: the struct has been introduced via
900b50c242 (rebase: add --update-refs option, 2022-07-19), and the
`commit` field was already unused back then.

> diff --git a/sequencer.c b/sequencer.c
> index b7d8dca47f..19839da1e6 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -6409,7 +6409,6 @@ struct todo_add_branch_context {
>  	size_t items_nr;
>  	size_t items_alloc;
>  	struct strbuf *buf;
> -	struct commit *commit;
>  	struct string_list refs_to_oids;
>  };
>  
> @@ -6498,7 +6497,6 @@ static int todo_list_add_update_ref_commands(struct todo_list *todo_list)
>  		ctx.items[ctx.items_nr++] = todo_list->items[i++];
>  
>  		if (item->commit) {
> -			ctx.commit = item->commit;
>  			add_decorations_to_list(item->commit, &ctx);
>  		}

Nit: while at it we could've also dropped the curly braces according to
our coding guidelines. But that alone isn't worth a reroll.

Other than that this is a welcome cleanup, thanks!

Patrick

```
