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)


 * Flex Diagrams
 * Yaron_Koren
 * Merge review
 * Please import this extension's code from https://github.com/yaronkoren/FlexDiagrams . Yaron Koren (talk) 18:03, 7 July 2020 (UTC)
 * ✅ Created as mediawiki/extensions/FlexDiagrams
 * ✅ Created as mediawiki/extensions/FlexDiagrams

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 09:41, 9 July 2020 (UTC)


 * WD_HumanEdits
 * GoranSMilovanovic
 * Merge review (preferred)
 * (1) This should go under analytics/wmde/WD/ (2) please just initialize an empty repository GoranSM (talk) 08:28, 8 July 2020 (UTC)
 * ✅ Created as analytics/wmde/WD/WD_HumanEdits
 * ✅ Created as analytics/wmde/WD/WD_HumanEdits

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 09:44, 9 July 2020 (UTC)


 * mediawiki-extensions-CognitiveProcessDesigner
 * rvogel
 * Merge review
 * This is an existing, but unmaintained extension Extension:Cognitive_Process_Designer. I have not requested "ownership" in Phabricator, as the code is not hosted by WMF. I have tried to contact the author, but did not get an answer Topic:Vhw85xgumox8wn9m. I'd like to publish a bugfixed version of that extension.
 * Thanks for trying to reach the author on-wiki. To be on the safe side, I've now also reached out to him by email. I'll create the repo once he confirmed. --QChrisNonWMF (talk) 10:01, 9 July 2020 (UTC)
 * Thanks for trying to reach the author on-wiki. To be on the safe side, I've now also reached out to him by email. I'll create the repo once he confirmed. --QChrisNonWMF (talk) 10:01, 9 July 2020 (UTC)

Emailing the author did not produce a response either. So I'm assume it's really unmaintained. --QChrisNonWMF (talk) 07:47, 17 July 2020 (UTC)

✅ Created as mediawiki/extensions/CognitiveProcessDesigner

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 07:47, 17 July 2020 (UTC)


 * mediawiki/extensions/OAuthRateLimiter
 * Ppchelko, Clarakosi
 * Merge review
 * For T257607. Owners: Core Platform Team. Thank you. PPchelko (WMF) (talk) 15:51, 10 July 2020 (UTC)
 * ✅ Created as mediawiki/extensions/OAuthRateLimiter
 * ✅ Created as mediawiki/extensions/OAuthRateLimiter

(GitHub mirror)(Phabricator mirror)

I've added Ppchelko, Clarakosi and wikimedia-core-platform as owners. The latter does not contain the whole Core Platform Team, but I figured it was the best match. Please adjust as needed, or ping me if you want me to adjust things for you. --QChrisNonWMF (talk) 18:44, 12 July 2020 (UTC)


 * wikimedia/security/landing-page (I think, based on the rest of the wikimedia/security type repos)
 * reedy
 * Merge review
 * For T257830 T257832. Please use wikimedia-security as owner/etc. Please don't create a .gitreview file etc, as I think we might be pushing an import of research/landing-page to create a fork from. Thanks! --Reedy (talk) 13:57, 13 July 2020 (UTC)
 * ✅ Created as wikimedia/security/landing-page
 * ✅ Created as wikimedia/security/landing-page

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 15:01, 13 July 2020 (UTC)


 * mediawiki/extensions/OnionsPorFavor
 * legoktm and Arlolra
 * Merge review
 * thanks! --Legoktm (talk) 10:35, 14 July 2020 (UTC)
 * I'm creating repos for WMF since some years now, but this repo request clearly comes with the best name ever! I've no clue what it's gonna do, but the name gets me interested already! My Spanish is very weak, but shouldn't it be OnionsPorFavor (capital „F”) if we follow CamelCase? Respond quickly, I cannot wait to create this repo and see what it'll be about :-) --QChrisNonWMF (talk) 19:20, 14 July 2020 (UTC)
 * Hopefully it can live up to the name :D And you're right, the F should be capitalized. Thanks again! Legoktm (talk) 22:02, 14 July 2020 (UTC)
 * Hopefully it can live up to the name :D And you're right, the F should be capitalized. Thanks again! Legoktm (talk) 22:02, 14 July 2020 (UTC)

✅ Created as mediawiki/extensions/OnionsPorFavor

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 22:09, 14 July 2020 (UTC)


 * operations/envoy-ratelimiter
 * hnowlan
 * Merge review
 * This repo is for the purposes of mirroring and (short term) tagging our own releases and Docker images of the Envoy ratelimiter. Please import https://github.com/envoyproxy/ratelimit --HNowlan (WMF) (talk) 13:50, 20 July 2020 (UTC)
 * Just double-checking, since the repo-name  stands out a bit: The suggested name comes without   as second name, while many mirrors under   have   as second component. Also, we already have the repo , where it's   not  . Those two items would lead me to think that maybe   or even   would better fit the hierarchy. But I'm of course fine with a plain   too. Just double-checking since we cannot move repos in Gerrit --QChrisNonWMF (talk) 07:58, 21 July 2020 (UTC)
 * I think you're right -  is probably the best option, thanks for checking! --HNowlan (WMF) (talk) 09:30, 21 July 2020 (UTC)
 * I think you're right -  is probably the best option, thanks for checking! --HNowlan (WMF) (talk) 09:30, 21 July 2020 (UTC)

✅ Created as operations/software/envoyproxy/ratelimiter

(GitHub mirror)(Phabricator mirror) --QChrisNonWMF (talk) 21:42, 21 July 2020 (UTC)