Changes to our Git infrastructure
Jan Kundrát
jkt at kde.org
Sat Dec 27 11:54:02 GMT 2014
Hi, here's my possibly incomplete wishlist of how I would like to work on
SW within KDE.
- The tools should recognize that we have a limited number of people
familiar with the code, while the pool of newcomers tends to be bigger.
This means that we should teach these newcomers on how to eventually become
project maintainers. Without swamping them with unintuitive trivia, of
course.
- I want tight CI integration. If there's a missing semicolon in that new
C++ code, I don't want to find it myself. A tool should tell the submitter
about that as fast as possible, and show them what the error is.
- Stuff that breaks tests should not be allowed to even hit the target
branch. Yes, this means that I would like to abolish the rule which says
that any KDE developer (myself included) can commit straight to the tree of
any project on the day-to-day basis. There should be an opt-out for
projects to enforce CI coverage. I'm OK with self-approvals (we're too
short on manpower), but I still want CI checks. I've introduced too many
breakages already.
- Emergencies will happen, so I want all KDE devs being able to push an
automated button to bypass the CI's verdict. (An realistically, any
stricter ACL would not ever get approved.)
- Machine time is cheaper than people time. If some automation can save our
time, we should use it IMHO. Don't know whom to Cc on a review request? Let
the tool suggest people who have touched this area of file recently. Don't
know project maintainers? No problem, they get an e-mail by default, with
no user action.
- The tools should take care of all aspects of a particular change hitting
the git tree. I'd like to be work on commits and git trees because that's
what I'll end up managing. A patch review is not enough because it
delegates some of the responsibilities to project maintainers. I want
people submitting a git commit, not a patch. (A git commit consists of the
diff, the commit message, the parent(s) and additional metadata.) I would
like to be able to review all of it.
- I want to be able to fix contributor's mistakes reasonably easy. If I can
fix trivial typos, add BUG: keywords or rebase stuff right from the code
review system webpage, that sounds good.
- While a change initially got started by someone, other should be able to
help and fix anything about that change, including replacing the patch. A
change doesn't "belong" to its author because we are a collaborative
project.
- The tool(s) we use should have reaosnable APIs for building other tools
around them.
- The review system should be self-contained. I do not want to ever ask
people "this is a nice patch, where can I pull from".
I also agree with essentially all points which were raised by other people
who commented on this thread with about a single exception -- "Upload
patches via git diff + web" is not relevant for me, and I'm afraid it
conflicts with my wishlist item of patch creators preparing git history
trees for me.
Hope this helps,
Jan
--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/
More information about the kde-core-devel
mailing list