Open jamesmontalvo3 opened 5 years ago
@darenwelsh @krisfield ?
I have't used Gerrit extensively so it's hard to weigh it's benefits. I believe being on Gerrit would allow for easier testing against Mediawiki version ( I think this is what @jamesmontalvo3 has said) which could be nice.
I do like Github's interface as well as issues tracker. It's all in one place whereas Phabricator is used to track issues for repositories in Gerrit.
Pros:
Cons:
Not sure if pro or con:
We'd have +2 on our repositories. People who have blanket +2 would also be able to merge, which is potentially good and bad. Good because they'll fix minor issues and add things like automated testing. Bad because (makes protectionist gesture wrapping arms around repos) these are ours!
There is [1] that explains how to use Gerrit without needing to use their non-standard SSH port (which is generally the reason corporate firewalls block it). I've asked for help on riot.im [2] if anyone has any experience using this.
As for Phabricator...I hear you on the not liking it as much as GitHub issues. I'm not sure what "separate from the code" means, though. GitHub issues aren't actually part of the repository...they're just at the same domain. One benefit of Phabricator may be that it'd be easier to group EMW issues together, since you can pull issues into any workboard. Also Phabricator has task dependencies (Task A needs to be completed before Task B).
[1] https://www.mediawiki.org/wiki/Gerrit/Troubleshooting#Push_using_HTTPS_(when_SSH_is_not_functional) [2] https://matrix.to/#/!mduWVRtKzYinVAelXP:matrix.org/$1544109179579434gUAxo:matrix.org?via=matrix.org
The gerrit method linked above works, so no need to hotspot.
There are features in GH that allow you to tag a line of code in an issue or link to an issue in a code comment, but I don't know if Gerrit and phabricator have this. I think you can set up different boards in GitHub based on milestones. These aren't really show stoppers, but are worth mentioning.
GH also provides a nice web interface for simple changes, which is nice. Does Gerrit? Having to always pull, change, commit, and push using a local clone isn't as easy for a small change.
On Thu, Dec 6, 2018, 10:30 James Montalvo <notifications@github.com wrote:
The gerrit method linked above works, so no need to hotspot.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/enterprisemediawiki/common/issues/1#issuecomment-444935374, or mute the thread https://github.com/notifications/unsubscribe-auth/AGar5OWGWdua8xTUSETpeyWhnfH6QCTpks5u2UY2gaJpZM4YlT0C .
tag a line of code in an issue
Isn't this just linking to a line? You can do that in Phabricator: https://phabricator.wikimedia.org/diffusion/ESHG/browse/master/extension.json$12
link to an issue in a code comment
You're saying you can have a comment in PHP (for example) like // see issue #1234
and it'll reference it in the issue, right? I don't know if Phab/Gerrit will do this.
web interface
I don't know if Gerrit allows for making edits from the web. I doubt it.
Gerrit does allow edits via the web-interface. See this edit I just made to fix a typo.
Phabricator does have a way to view links in code to issues. It over-interprets things, so PHP code doesn't look as well.
The WMF Gerrit install includes a repo browser called Gitiles, which can be used to link lines example. It does not support multiline linking like GitHub does, and is not as discoverable, OTOH it is much faster. (Or you can just link to GitHub, I usually do that.) The Phabricator repo browser is not really useful IMO.
Gerrit has an old and a new UI (there is a switch link in the footer). The old UI allows editing (it is a bit more featureful than GitHub, you can put together multi-file patches in the web UI) but is otherwise pretty bad. The new UI is more decent but does not allow editing (promised to be in the next release).
In general the UX of Gerrit is not really cutting edge but it is transitioning from a community-run open source project to Google-run open source (AIUI Google has kind of adopted is as their official CR tool) so that will probably improve.
Internationalization (I assume that refers to using Translatewiki) is not in any way dependent on Gerrit.
I don't think +2 is used to merge things against the repo maintainer's wishes (as long as the maintainer is active and gives feedback on patches) short of emergencies and uncontroversial stuff like i18n file updates.
I think we should consider moving our extensions to Gerrit. It's a little more cumbersome to work with from behind certain firewalls, but it's manageable. Wondering what people think...