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! 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/