Philippe Blain <levraiphilippeblain@xxxxxxxxx> writes:
Hi Atharva,
Le 2021-07-25 à 08:22, Atharva Raykar a écrit :
Hello all,
Week 10 of my Git blog can be found here:
https://atharvaraykar.me/gitnotes/week10
As for the "survey part", jump to the section here:
https://atharvaraykar.me/gitnotes/week10#the-mailing-list-developer-workflow
...feel free to reply in this thread.
Quoting your "survey" questions:
What tools, systems and workflows do you find valuable in your
day-to-day work? In particular I’d be happy getting insights
like:
* Any strategy or approach to work, kind of like the example I
quoted
above
* Any scripts and tools that assist you
* Opinionated handling of multiple in-flight series and methods
to
approaching reviews
* Atharva, you are overthinking this! I just use a
straightforward {
editor + MUA + git } stack and go with the flow!
I'm a small-time contributor, but I do read the mailing list
regularly.
As such, I'm not subscribed to the list; I read it on
lore.kernel.org
or public-inbox.org (nicer colors!). The UI of public-inbox is
very clear
with respect to threading, and the front page also lists
messages in
a way that it is easy to quickly see what's new.
When I want to reply to a message that I read on the list, I
import it
into a "Git mailing list" IMAP folder in my Gmail account so
that I can answer
using my mail client (Thunderbird for now since Apple Mail has
been reliably
crashing at launch for the last months) and quote relevant parts
of the message.
To import a thread from the mailing list I use a combination of
the excellent
'b4' tool, developed by the kernel community [1], and 'git
imap-send'. It's
basically this:
$ git config --get alias.ml-imap
!f() { b4 mbox -o- $1 | git imap-send; }; f
This sometimes does not work if some messages in the thread were
not created
using 'git format-patch', since 'git imap-send' expects the
"From", "Date"
and "Subject" headers in a certain order. So I created a small
Python script,
'git in', for this case [2].
For small and simple reviews, I also simply import the patches
into Thunderbird
and reply inline. If I want to do a more in-depth review and
browse the code as
modified by a series, I fetch the contributor's branch and take
a look locally.
More often than not though people do not provide a 'git
fetch'-ready link in their
cover letter. So in that case I use 'b4 am' [1] to fetch the
latest version of a series
and apply it locally. Before 'b4' was created I used 'git pw'
[3], a command line
client for Patchwork, and the Git patchwork instance at [4], but
these days I prefer
'b4' as it's more closely integrated with public-inbox.
For my own contribution I use Gitgitgdaget [5], it handles
almost everything needed
for git.git contributions: keeping track of the CC list for
me, updating the re-roll count, adding the In-Reply-To header
such that subsequent
versions of the series are sent as a response to the cover
letter of the previous version,
generating a range-diff against the previous version, providing
a 'git fetch'-ready tag,
commenting on the PR when the series is mentioned in Junio's
"What's cooking", etc.
Some things it does not support are: sending a patch as a
response to some random
mail on the list, which is sometimes useful, reading the commit
notes to generate
in-patch commentaries [6], customizing the diff generated by
'format-patch'.
Other things are listed at [7].
Recently I've also been using only the terminal with
Gitgitgadget:
I use 'git branch --edit-description' to write my cover letter,
and then use the 'gh' GitHub CLI [8] to open my PR:
$ git config --get-regexp alias.desc*
alias.desc-title !git config branch.$(git branch
--show-current).description | head -1
alias.desc-body !git config branch.$(git branch
--show-current).description | tail -n+3
$ gh pr create --title "$(git desc-title)" --body "$(git
desc-body)" --head phil-blain:$(git branch --show-current)
I hope this provides a different perspective!
Thanks for the detailed reply!
I like that it covers a lot about how you retrieve patches and
respond
to reviews.
You have convinced me to give Gitgitgadget a try for my next patch
:^)
Cheers,
Philippe.
[1] https://pypi.org/project/b4/
[2]
https://gist.github.com/phil-blain/d350e91959efa6e7afce60e74bf7e4a8
[3]
https://patchwork.readthedocs.io/projects/git-pw/en/latest/usage/
[4] https://patchwork.kernel.org/project/git/list/
[5] https://gitgitgadget.github.io/
[6] https://github.com/gitgitgadget/gitgitgadget/issues/173
[7] https://github.com/gitgitgadget/gitgitgadget/issues
[8] https://cli.github.com/