Gerrit/New repositories/Requests

You'll be telling us your wikitech/LDAP username, what code review model you want and what you want the project name in gerrit to be. Click request, then fill in the fields on the page creation screen:

{| class="wikitable sortable" ! Extension ! Developer ! Preferred model ! Comments ! Status


 * Example
 * Alison
 * Merge review
 * Early stages of development.
 * ✅ --Admin user 09:56, 14 February 2012 (UTC)
 * ✅ --Admin user 09:56, 14 February 2012 (UTC)


 * mediawiki/gadgets/convenient-discussions
 * Jack who built the house, Iniquity
 * Open push only for repo maintainers
 * Hi, we need to create a mirrow of CD repository (https://github.com/jwbth/convenient-discussions) on gerrit to work with localization directly from the Wikiproject. --Iniquity (talk) 01:55, 3 June 2020 (UTC)
 * By mirror, you mean "clone the repo once and then development will happen on Gerrit" or you mean "development happens on GitHub and Gerrit should keep itself updated from that repo"? (We can do the first, but not the second)
 * By mirror, you mean "clone the repo once and then development will happen on Gerrit" or you mean "development happens on GitHub and Gerrit should keep itself updated from that repo"? (We can do the first, but not the second)

Also, although there are currently only 2 repos underneath   they follow the CamelCase name conventions from. So would you be ok if I CamelCase the repo name to ? --QChrisNonWMF (talk) 20:00, 3 June 2020 (UTC)
 * Yes, I meant the second variant. It's a pity. Nothing can be done? :( Iniquity (talk) 11:22, 4 June 2020 (UTC)


 * Too bad :-( Unfortunately, nothing can be done. Gerrit is only good at pushing changes forward (e.g.: to GitHub), not so much with pulling changes from another remote. --QChrisNonWMF (talk) 12:47, 4 June 2020 (UTC)


 * A little clarification, I'm not talking about automatic updates by gerrit. We can do this on our own :) Iniquity (talk) 13:04, 4 June 2020 (UTC)


 * Maybe I got this whole thread wrong, but it is possible to develop code on GitHub and get it mirrored on Gerrit via Phabricator Diffusion "push" functionality. Granted, this is not encouraged because it's a weird setup. &mdash;MarcoAurelio (talk) 21:23, 4 June 2020 (UTC)


 * You're of course right. The setup you describe is technically possible. But while technically possible, this setup is not only "not encouraged" as you write, it's discouraged. The documentation for ORES setup even contains the word "dangerous", which might be over the top :-D The whole thing is a bit interwoven with many other things, so let me reach out a bit farther. Probably we should add this to a page about repo creation. Not sure. Regardless: The text below is not meant to lecture anyone, but just to provide more detail and context why we're typically not doing such setups (although they would technically be possible). The big picture is that at some point, each team in WMF decided which task tracker they wanted to use. There was a wide mix between Bugzilla, Trello, Mingle and what not. It was hard to find who did what and when, because everyone used a different system. Some teams even used more than one tracker. This was considered a serious enough issue that after some discussion, this was all switched to Phabricator (Phabricator RFC). Since we wanted all things at one place, one of they key arguments for many was that Phabricator will also include Code Reviews. That last part never materialized for several reasons. We ended up with not a single tool for Code Review, but two. Phabricator for the early adopters, and Gerrit for the rest--although we switched to Phabricator to have everything in one place. In order to get Code Review back into a single place another RFC was done to fully migrate Code Review to Phabricator. And it was declined. So we arrived at the point where we want to stop using Differential for code review . We want all in one place so people can easily find the authorative repo. People can easily find the place where to submit patches etc. Whether we like it or not, (at least for now) this single place is Gerrit for WMF. Not sure if I like that or not, but it is what it is. And if we end up having exceptions again and again, we end up having code in so many different places again, just as we did with Bugtrackers before. This is the very thing our community does not want :-) But even when ignoring all these social requirements, having repos elsewhere does also come with a support burden. For example, if the authorative repo is, say GitHub, and we get the code into Gerrit automatically through some means, what happens to localization updates that get applied automagically on Gerrit? Either Phabricator fails to push some commit due to a merge conflict sooner or later or it force pushes and thereby rewriting history. We've been there. We've received tickets for such breakage and we've seen accusations of undoing someone's commits etc. Although it was just a simple automated pull/push. So for all these reasons, I'll not set-up a GitHub repo pull/push to Gerrit. But as Iniquity said that it need not be automatic updates we can push the problem onto Inquity's shoulders (see below) --QChrisNonWMF (talk) 09:39, 5 June 2020 (UTC)


 * If you want to do the updates manually (You pull the code from GitHub yourself and you push onto Gerrit yourself), that's something you can do. Not that that's our prefered setup, but we definitely grant you push access, and then you can do what you suggested (And we already have plenty such repos, so there's no point in denying it :-) ). Then we're back to the naming question. Would  work for you as repo name? --QChrisNonWMF (talk) 09:39, 5 June 2020 (UTC)
 * Yes, this is not a problem, we can work with . And thanks for the detailed comment above :) Iniquity (talk) 14:53, 6 June 2020 (UTC)

✅ Created as mediawiki/gadgets/ConvenientDiscussions

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 19:59, 7 June 2020 (UTC)


 * mediawiki/extensions/Expressions
 * xxmarijnw
 * Merge review
 * Please import https://github.com/26/Expressions/ Thanks! --Xxmarijnw (talk) 17:14, 3 June 2020 (UTC)
 * ✅ and imported as requested. &mdash;MarcoAurelio (talk) 17:40, 3 June 2020 (UTC)
 * ✅ and imported as requested. &mdash;MarcoAurelio (talk) 17:40, 3 June 2020 (UTC)


 * mediawiki/extensions/CatTalk
 * naypta
 * Merge review
 * Thank you! --Naypta (talk) 15:45, 4 June 2020 (UTC)
 * ✅ Created as mediawiki/extensions/CatTalk. &mdash;MarcoAurelio (talk) 21:21, 4 June 2020 (UTC)
 * ✅ Created as mediawiki/extensions/CatTalk. &mdash;MarcoAurelio (talk) 21:21, 4 June 2020 (UTC)


 * mediawiki/extensions/GlobalWatchlist
 * DannyS712
 * Merge review
 * Thanks, --DannyS712 (talk) 05:21, 11 June 2020 (UTC)
 * Just to make sure: This request is not about extension Collab(orative)Watchlist that was once called Extension:GlobalWatchlist and that we should import it from SVN, but this is for a new extension. Right? (To avoid confusion, we'd normally not allow to re-use extension names and would hence deny repo creation. But in this case, I only found use of the name “GlobalWatchlist” on wiki, not in code. In code, I could only find use of the extension's “new” 2011 name “CollabWatchlist”.) --QChrisNonWMF (talk) 06:27, 11 June 2020 (UTC)
 * Just to make sure: This request is not about extension Collab(orative)Watchlist that was once called Extension:GlobalWatchlist and that we should import it from SVN, but this is for a new extension. Right? (To avoid confusion, we'd normally not allow to re-use extension names and would hence deny repo creation. But in this case, I only found use of the name “GlobalWatchlist” on wiki, not in code. In code, I could only find use of the extension's “new” 2011 name “CollabWatchlist”.) --QChrisNonWMF (talk) 06:27, 11 June 2020 (UTC)

Also, just to double-check, as you wrote the GlobalWatchlist gadget, you really want the repo name to be  and not. Right? --QChrisNonWMF (talk) 06:27, 11 June 2020 (UTC)
 * yes, this is for a brand-new extension (didn't know there was a previous one) And yes, I want this to be under extensions - I have a grant to write an extension, see m:Grants:Project/DannyS712/Create a global watchlist extension --DannyS712 (talk) 06:49, 11 June 2020 (UTC)
 * Regardless of grant or not: Thanks for clarifying, repo created as noted below. That said ... Congrats on the grant! :-) --QChrisNonWMF (talk) 09:19, 11 June 2020 (UTC)

✅ Created as mediawiki/extensions/GlobalWatchlist

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 09:19, 11 June 2020 (UTC)


 * labs/tools/rust-hello-world
 * legoktm
 * Merge review
 * thank you! --Legoktm (talk) 10:59, 17 June 2020 (UTC)
 * ✅ Created as labs/tools/rust-hello-world
 * ✅ Created as labs/tools/rust-hello-world

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 12:58, 17 June 2020 (UTC)


 * mediawiki/extensions/WSOAuth
 * Xxmarijnw
 * Merge review
 * Please import https://github.com/WikibaseSolutions/WSOAuth/. Thanks! --Xxmarijnw (talk) 14:30, 1 July 2020 (UTC)
 * ✅ Created as mediawiki/extensions/WSOAuth
 * ✅ Created as mediawiki/extensions/WSOAuth

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 14:07, 3 July 2020 (UTC)