mricon / b4 Goto Github PK
View Code? Open in Web Editor NEWTool to help with email-based patch workflows
License: GNU General Public License v2.0
Tool to help with email-based patch workflows
License: GNU General Public License v2.0
prefix somehow behaves like suffix, version of b4 used == 0.12.2
$ b4 prep --set-prefix "PREFIX"
No changes to extra prefixes.
$ b4 send -o /tmp/presend
Converted the branch to 1 messages
Will write out messages into /tmp/presend
0001-patch.eml
---
DRYRUN: Would have sent 1 messages
$ cat /tmp/presend/0001-patch.eml
From: Manorit Chawdhry <[email protected]>
Date: Mon, 17 Apr 2023 15:44:10 +0530
Subject: [PATCH PREFIX] Test email
[...]
Hi,
Thanks for your tool! I am using it for the project GNU Guix. Especially with the Emacs package piem by Kyle (@kyleam). In addition, Kyle maintains an unofficial public-inbox. Here my configuration:
[b4]
midmask = https://yhetil.org/guix/%s
linkmask = https://yhetil.org/guix/%s
attestation-policy = off
cache-exprire = 60
Considering this relative complex thread, depending on the message ID, the extraction of the patches fails or passes.
For instance, it fails from this one:
$ b4 am [email protected]
Looking up https://yhetil.org/guix/87357fjyuc.fsf_-_%40gmail.com
Grabbing thread from yhetil.org/guix/87357fjyuc.fsf_-_%40gmail.com/t.mbox.gz
Analyzing 27 messages in the thread
Assuming new revision: v10 ([bug#60788] [PATCH v2] services: vnstat: Use least-authority-wrapper.)
Will use the latest revision: v10
You can pick other revisions using the -vN flag
---
[PATCH v10 1/3] services: Add vnstat-service-type.
ERROR: missing [2/3]!
ERROR: missing [3/3]!
---
Total patches: 1
---
WARNING: Thread incomplete!
Link: https://yhetil.org/guix/4e67d41880a44306c5b5d0a39c776083c180cd15.1683245610.git.mirai@makinata.eu
Base: using specified base-commit 3c91f4ca490a7ac56dc0aebbca9c4bf4df201877
git checkout -b v10_20230505_mirai_makinata_eu 3c91f4ca490a7ac56dc0aebbca9c4bf4df201877
git am ./v10_20230505_mirai_services_add_vnstat_service_type.mbx
or fails differently this other one:
$ b4 am f3b90db7de20b4deab630a53c5c970fa776b0e7a.1673730322.git.mirai@makinata.eu
Looking up https://yhetil.org/guix/f3b90db7de20b4deab630a53c5c970fa776b0e7a.1673730322.git.mirai%40makinata.eu
Grabbing thread from yhetil.org/guix/f3b90db7de20b4deab630a53c5c970fa776b0e7a.1673730322.git.mirai%40makinata.eu/t.mbox.gz
Analyzing 27 messages in the thread
Assuming new revision: v4 ([bug#60788] [PATCH v2] services: vnstat: Use least-authority-wrapper.)
Assuming new revision: v10 ([bug#60788] [PATCH v4] services: Add vnstat-service-type.)
Assuming new revision: v10 ([bug#60788] [PATCH v2] services: Add vnstat-service-type.)
Will use the latest revision: v10
You can pick other revisions using the -vN flag
---
[PATCH v10] services: Add vnstat-service-type.
[PATCH v10 2/3] services: inetd: Export accessors.
ERROR: missing [3/3]!
---
Total patches: 2
---
WARNING: Thread incomplete!
Link: https://yhetil.org/guix/beb55c678fea6c72c593dad446592ada135ee8c4.1674002048.git.mirai@makinata.eu
Base: not specified
git am ./v10_20230118_mirai_services_add_vnstat_service_type.mbx
Last, it passes for that one:
$ b4 am [email protected]
Looking up https://yhetil.org/guix/87cz4ftq5z.fsf%40gmail.com
Grabbing thread from yhetil.org/guix/87cz4ftq5z.fsf%40gmail.com/t.mbox.gz
Analyzing 27 messages in the thread
Assuming new revision: v7 ([bug#60788] [PATCH v2] services: vnstat: Use least-authority-wrapper.)
Will use the latest revision: v10
You can pick other revisions using the -vN flag
---
[PATCH v10 1/3] services: Add vnstat-service-type.
[PATCH v10 2/3] services: inetd: Export accessors.
[PATCH v10 3/3] tests: Add vnstat tests.
---
Total patches: 3
---
Link: https://yhetil.org/guix/4e67d41880a44306c5b5d0a39c776083c180cd15.1683245610.git.mirai@makinata.eu
Base: using specified base-commit 3c91f4ca490a7ac56dc0aebbca9c4bf4df201877
git checkout -b v10_20230505_mirai_makinata_eu 3c91f4ca490a7ac56dc0aebbca9c4bf4df201877
git am ./v10_20230505_mirai_services_add_vnstat_service_type.mbx
Let me know if details are missing.
Cheers,
simon
$ b4 am https://lore.kernel.org/all/[email protected]/
Analyzing 13 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH 1/11] init: Mark [arch_call_]rest_init() __noreturn
✓ Signed: DKIM/kernel.org
+ Reviewed-by: Nick Desaulniers <[email protected]> (✓ DKIM/google.com)
✓ [PATCH 2/11] init: Mark start_kernel() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 3/11] x86/head: Mark *_start_kernel() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 4/11] btrfs: Mark btrfs_assertfail() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 5/11] arm64/cpu: Mark cpu_park_loop() and friends __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 6/11] cpu: Mark panic_smp_self_stop() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 7/11] cpu: Mark nmi_panic_self_stop() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 8/11] x86/cpu: Mark {hlt,resume}_play_dead() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 9/11] objtool: Include weak functions in global_noreturns check
✓ Signed: DKIM/kernel.org
✓ [PATCH 10/11] scsi: message: fusion: Mark mpt_halt_firmware() __noreturn
✓ Signed: DKIM/kernel.org
✓ [PATCH 11/11] x86/hyperv: Mark hv_ghcb_terminate() as noreturn
✓ Signed: DKIM/kernel.org
ERROR: missing [12/12]!
---
Total patches: 11
---
WARNING: Thread incomplete!
Cover: ./20230407_jpoimboe_sprinkle_more___noreturn.cover
Link: https://lore.kernel.org/r/[email protected]
Base: applies clean to current tree
git checkout -b 20230407_jpoimboe_kernel_org HEAD
git am ./20230407_jpoimboe_sprinkle_more___noreturn.mbx
In particular, I usually use -o -
with the above, then pipe that into git am
. Since the thread appears incomplete for some reason, this failures with EPIPE.
$ b4 --version
0.10.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.