# [PATCH] b4: include change-id in cover template

3 messages from 2026-07-10 to 2026-07-10. Participants: Chen Linxuan via B4 Relay, Patrick Steinhardt, Junio C Hamano.
Thread: https://gitlist.dev/t/65968

## Chen Linxuan via B4 Relay, 2026-07-10 07:22

Subject: [PATCH] b4: include change-id in cover template
Message-ID: <20260710-add-change-id-to-b4-template-v1-1-1bd37a25064e@black-desk.cn>

```
From: Chen Linxuan <me@black-desk.cn>

With b4 0.15.2, I hit a local failure after sending a series with the
in-tree cover template.  The generated sent/<change-id>-vN tag contained
base-commit, but did not contain change-id, and later b4 commands failed
when trying to read it:

  CRITICAL: Tag sent/... does not contain change-id info

Looking at b4's source, the sent tag message is derived from the rendered
cover letter.  The same code later parses that tag and expects both
base-commit and change-id to be present.  The default b4 cover template
has both trailers, but our in-tree template only has base-commit.

Add the missing change-id trailer next to base-commit so sent tags
produced from the project template remain readable by b4's reroll and
comparison logic.

Signed-off-by: Chen Linxuan <me@black-desk.cn>
---
 .b4-cover-template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.b4-cover-template b/.b4-cover-template
index ab864933b5c8..8168d8a10b3a 100644
--- a/.b4-cover-template
+++ b/.b4-cover-template
@@ -8,4 +8,5 @@ ${diffstat}
 ${range_diff}
 ---
 base-commit: ${base_commit}
+change-id: ${change_id}
 ${prerequisites}

---
base-commit: f60db8d575adb79761d363e026fb49bddf330c73
change-id: 20260710-add-change-id-to-b4-template-f9fd20937027



```

## Patrick Steinhardt, 2026-07-10 08:46

Subject: Re: [PATCH] b4: include change-id in cover template
Message-ID: <alCxgqybWb9eDEG0@pks.im>
In-Reply-To: <20260710-add-change-id-to-b4-template-v1-1-1bd37a25064e@black-desk.cn>

```
On Fri, Jul 10, 2026 at 03:22:13PM +0800, Chen Linxuan via B4 Relay wrote:
> From: Chen Linxuan <me@black-desk.cn>
> 
> With b4 0.15.2, I hit a local failure after sending a series with the
> in-tree cover template.  The generated sent/<change-id>-vN tag contained
> base-commit, but did not contain change-id, and later b4 commands failed
> when trying to read it:
> 
>   CRITICAL: Tag sent/... does not contain change-id info
> 
> Looking at b4's source, the sent tag message is derived from the rendered
> cover letter.  The same code later parses that tag and expects both
> base-commit and change-id to be present.  The default b4 cover template
> has both trailers, but our in-tree template only has base-commit.
> 
> Add the missing change-id trailer next to base-commit so sent tags
> produced from the project template remain readable by b4's reroll and
> comparison logic.

Ah, that's indeed an oversight on my side. So this change looks good to
me, thanks!

Patrick

```

## Junio C Hamano, 2026-07-10 17:02

Subject: Re: [PATCH] b4: include change-id in cover template
Message-ID: <xmqqik6mdbh6.fsf@gitster.g>
In-Reply-To: <alCxgqybWb9eDEG0@pks.im>

```
Patrick Steinhardt <ps@pks.im> writes:

> On Fri, Jul 10, 2026 at 03:22:13PM +0800, Chen Linxuan via B4 Relay wrote:
>> From: Chen Linxuan <me@black-desk.cn>
>> 
>> With b4 0.15.2, I hit a local failure after sending a series with the
>> in-tree cover template.  The generated sent/<change-id>-vN tag contained
>> base-commit, but did not contain change-id, and later b4 commands failed
>> when trying to read it:
>> 
>>   CRITICAL: Tag sent/... does not contain change-id info
>> 
>> Looking at b4's source, the sent tag message is derived from the rendered
>> cover letter.  The same code later parses that tag and expects both
>> base-commit and change-id to be present.  The default b4 cover template
>> has both trailers, but our in-tree template only has base-commit.
>> 
>> Add the missing change-id trailer next to base-commit so sent tags
>> produced from the project template remain readable by b4's reroll and
>> comparison logic.
>
> Ah, that's indeed an oversight on my side. So this change looks good to
> me, thanks!
>
> Patrick

I would have slightly preferred to see the observation part fully in
present tense (instead of "I did and it failed"), perhaps like so:

    When sending a series with the in-tree cover template, the
    generated sent/<change-id>-vN tag contains base-commit but lacks
    change-id.  Later b4 commands fail when trying to read it.

but that is a minor point.

Will queue.  Thanks, both.

```
