From: Atharva Raykar Date: Sun, 01 Aug 2021 07:06:40 GMT Subject: Re: [GSoC] A small survey + My Git Blog, week 10 Message-ID: In-Reply-To: Philippe Blain 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/