Pain points in Git's patch flow
Jonathan Nieder
jrnieder at gmail.com
Wed Apr 14 16:13:26 AEST 2021
Hi,
I'd like to introduce Raxel (cc-ed), who is starting an internship
this June with the Git team at Google.
He'll be working on a bit of an experimental project: we want to take
Patchwork[1], which in principle can be a helpful addition to a
mailing list centric workflow[2], and improve it to be something that
people in the Git open source project get day-to-day benefit from.
Raxel's previous successes in making changes to tools to support a
better user experience make me excited for the potential for this
work.
Anyway, yesterday[3] Junio, Taylor, and Emily were discussing how to
encourage more reviews:
<gitster> this week, i'd be thinking about ways to get topics, that
are not reviewed sufficiently, reviewed. I can act as the
last-resort fallback reviewer, but that's not sufficient.
<ttaylorr> gitster: I share your concern.
<nasamuffin> gitster: yep, agree, on both counts
That reminded me that it would be useful preparation to collect
descriptions of pain points we are having with our existing patch
flow. For example:
- As a reviewer, I want to be able to easily find a series that needs
review. Using patchwork, I can see some recent patch series; or
using a hierarchical threaded mail reader, I can find a neglected
thread or one that seems to be likely to have an interesting
discussion going on. But without reading in detail, there is no
easy way to see whether the series has reached a review, whether
someone else intends to review it, and what the author believes its
status to be.
- Relatedly, as a patch author or reviewer, I want to be able to
easily tell whether a topic has been sufficiently reviewed. Today,
the signals for this are implicit: I have to judge consensus, or to
check the Git repository for whether the patch has been merged, or
to check the maintainer's latest "What's cooking in git.git"
message.
- As a potential reviewer or interested user, I want to be able to
follow all relevant discussion for a patch series, while also
having the ability to stop following it if the discussion goes on
too long and starts overwhelming my email inbox. Today, I can join
the discussion and then (1) it is hit-or-miss whether the patch
author ccs me on later iterations of the patch and (2) there is no
easy way without aggressive email filtering to stop watching it if
I am cc-ed.
- After having diagnosed an issue to be due to a patch, I want to be
able to easily find all relevant review discussion. Today I can
use the mailing list archive[4] or patchwork to find review
discussion on the latest version of the series that patch was in,
but tracing back to previous iterations of that same series can be
non-trivial. Moreover, if I'm interested in a particular puzzling
line of code, finding which iteration introduced it can take a long
time.
Those four are important in my everyday life. Questions:
1. What pain points in the patch flow for git.git are important to
you?
2. What tricks do you use to get by with those existing pain points?
3. Do you think patchwork goes in a direction that is likely to help
with these?
4. What other tools would you like to see that could help?
Thanks,
Jonathan
[1] http://jk.ozlabs.org/projects/patchwork/; you can see an instance
for Git at https://patchwork.kernel.org/project/git/list/
[2] https://kernel-recipes.org/en/2016/talks/patches-carved-into-stone-tablets/,
https://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html#_patch_workflow
[3] https://colabti.org/irclogger/irclogger_log/git-devel?date=2021-04-12#l40
[4] https://lore.kernel.org/git/
More information about the Patchwork
mailing list