Hi Guillaume,
Good point. Comments below...
On Tue, Mar 12, 2013 at 7:03 AM, Guillaume Paumier
<gpaumier(a)wikimedia.org> wrote:
On Sun, Mar 10, 2013 at 2:11 AM, Rob Lanphier
<robla(a)wikimedia.org> wrote:
Short version: This mail is fishing for feedback
on proposed work on
Gerrit-Bugzilla integration to replace code review tags.
I preferred that if we were going to have our own
hacky solution, it
should at least be implemented as a Gerrit plugin, so that it would at
least stand a chance of becoming a well-integrated solution.
A Bugzilla-based solution would be an ideal
replacement for "fixme",
since fixmes are basically bugs anyway. It would work reasonably well
for "scaptrap", since they generally imply something that needs to be
done prior to deployment. It would be an awkward replacement for
"backcompat" and others.
Thank you for this detailed e-mail. One thing I think I'm missing is
why the bugzilla-based solution is better than the gerrit plugin one.
The Bugzilla-based solution has some of the advantages of the
MediaWiki-based solution. We may be able to implement it more quickly
than something native to Gerrit because we're already working on
Bugzilla integration, and we get features like queries for free, as
well as the minor convenience of not having to have a new database
table or two to manage. It may be useful for Chad and/or Christian to
weigh in on this point.
Workflow advantages:
* We're already managing Bugzilla (Andre is full-time on it), so
managing "tags" is straightforward.
* We get all sorts of extra management functions, such as assignee
with BZ, whereas "fixme"s, for example, only have an implicit,
unchangeable assignee (the committer)
It seems to me that if the tagging functionality was
developed as a
gerrit plugin, it would have all the advantages of the bugzilla-based
solution (good integration, etc.) without its drawbacks (awkwardness
for non-bugs tags, e-mail addresses mismatches, dependency on
bugzilla).
True. They may not be mutually exclusive, but a question of ordering
and priority. A BZ-based solution can potentially be our short-term
solution, while we still continue to prod upstream on a better
long-term solution. We may also still decide that both features are
useful enough to implement them both ourselves.
The nice thing about a BZ-based solution is that we will probably
still want to keep using it for some things after there's a proper
upstream solution. Perhaps we'll also grow attached to a homegrown
tagging solution for Gerrit, but it seems less likely we'll want to
keep it unless the Gerrit devs never get around to implementing
tagging in core.
Admittedly, I'm not a primary user of gerrit, but
I've been pondering
the idea of using tags in order to surface noteworthy changes, so they
can be easily listed and communicated about to our users. This would
make it much easier to identify the "most important changes" on pages
like
https://www.mediawiki.org/wiki/MediaWiki_1.21/wmf7 , and could
also perhaps be used for release notes summaries.
A bugzilla-based tagging system seems too restrictive for this kind of
use, but perhaps I'm just not seeing how it would work. It's difficult
to predict the kinds of tags people will come up with in the future,
and I feel it would be a pity to develop a tagging solution that
restricts the type of tags you can use with it.
I think we probably just need to be accommodating for more uses of
Bugzilla than narrowly using it for bugs only. I think these would be
perfectly fine to track in Bugzilla.
If the problem is with the rigidity of keywords, one thing I should
note is that, in addition to tagging, there's also the "whiteboard" in
Bugzilla, which I believe you can use for free form stuff to query. I
believe Andre only enabled that in recent months, so it may be that it
wasn't available the last time you went looking, and is a feature we
don't yet use for much (or anything?)
Part of why I sent my proposal to the list is because I'm not too
wedded to a Bugzilla-based solution. The main things I wanted to
check were:
1. Should we tackle Gerrit->Bugzilla bug filing as a higher priority
than a Gerrit tagging system? (My original assumption is "yes", but
this is the point I'm most malleable on)
2. Is a MediaWiki-based solution with some JS integration to Gerrit
acceptable alternative to building a Gerrit-only plugin? (My
assumption is "no")
Rob