Re: git-send-email: Send with mutt(1)
- From
- Alejandro Colomar <alx@kernel.org>
- Date
- Nov 9, 2023, 15:26 UTC
- Message-ID
- <ZUz6H3IqRc1YGPZM@debian>
- In-Reply-To
- <20231108212702.GA1586965@coredump.intra.peff.net>
Hi Jeff,
On Wed, Nov 08, 2023 at 04:27:02PM -0500, Jeff King wrote:
Show 31 quoted lines
> > > # spool the message to a fake mbox; we need to add
> > > # a "From" line to make it look legit
> > > trap 'rm -f to-send' 0 &&
> > > {
> > > echo "From whatever Mon Sep 17 00:00:00 2001" &&
> > > cat
> > > } >to-send &&
> >
> > Would a named pipe work? Or maybe we could use $(mktemp)?
>
> I suspect mutt wants it to be a real file. But yeah, mktemp would
> definitely work. I actually started to write it that way but switched to
> a static name for simplicity in demonstrating the idea. :)
>
> One note, though. Later we need to pass this filename to mutt config:
>
> > > mutt -p \
> > > -e 'set postponed=to-send' \
>
> so it's a potential worry if "mktemp" might use a path with spaces or
> funny characters (e.g., from $TMPDIR). Probably not much of a problem in
> practice, though.
>
> > Huh, this is magic sauce! Works perfect for what I need. This would
> > need to be packaged to the masses. :-)
> >
> > I found a minor problem: If I ctrl+C within mutt(1), I expect it to
> > cancel the last action, but this script intercepts the signal and exits.
> > We would probably need to ignore SIGINT from mutt-as-mta.
>
> Yeah, that might make sense, and can be done with trap.I've tried something even simpler:
---8<--- #!/bin/sh
mutt -H -; --->8---
I used it for sending a couple of patches to linux-man@, and it seems to work. I don't have much experience with mutt, so maybe I'm missing some corner cases. Do you expect it to not work for some case? Otherwise, we might have a winner. :)
Show 9 quoted lines
> > > Would you mind adding this as part of git? Or should we suggest the > > mutt project adding this script? > > IMHO it is a little too weird and user-specific to really make sense in > either project. It's really glue-ing together two systems. And as it's > not something I use myself, I don't plan it moving it further along. But > you are welcome to take what I wrote and do what you will with it, > including submitting it to mutt.
I'll start by creating a git repository in my own server, and will write something about it to let the public know about it. I'll also start requiring contributors to linux-man@ to sign their patches, and recommend them using this if they use mutt(1).
Cheers, Alex
-- <https://www.alejandro-colomar.es/>