- Diffusion is not the canonical source of anything
- Having it causes confusion / disruption and wastes time
- There are a number of bugs, none of which are getting fixed by anyone.
- There's now at least one bug which interferes with actually getting things done T358940: GerritBot comments for 7-digit Gerrit changes conflict with Diffusion commit hashes
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Stalled | None | T359549 Drop our mirroring of code to Diffusion and empty the repos | |||
Restricted Task | |||||
Stalled | None | T349921 integration-agent-docker machines excessively pull some Wikibase related Git repos in Diffusion |
Event Timeline
Uh? 🤔
Just to clarify, here the proposal is to close this kind of repositories (?)
https://phabricator.wikimedia.org/source/mediawiki/
Please at least evaluate all the features we are going to shutdown, with the above idea:
- We cannot mention git commits like 0f2d0d7bbb9a anymore generating an handy link
- We cannot anymore visit the https://phabricator.wikimedia.org/source/mediawiki/browse/master/ with the "pattern search" (not available to Gerrit, not available to GitLab) that use the native git grep stuff and it's super-fast.
- We cannot anymore quickly blame things and surf the permalink back in time clicking on the "<<" arrows like you can do in https://phabricator.wikimedia.org/source/mediawiki/browse/master/opensearch_desc.php
- I cannot anymore click on Open File to open that file in my editor (since I know how to configure that in my Phabricator settings) from the above URL
- I cannot anymore see people contributions in Phabricator itself, from profile pages
- ...
- ...
I have disagreed each time this general idea has been promoted in the past and I will continue to disagree until there is a material difference in the arguments made by either side.
I prefer the ability to explicitly link commits using the {hash} and {diffusion repo:hash} methods over autoliniking which for diffusion commits and other things can be annoying. Auto linked references are not however the only use-case for Diffusion today.
Diffusion is providing a helper service for mirroring repositories to other codeforges. The open-core GitLab "Community Edition" product does not support pull mirroring, but Diffusion does. This means Diffusion can be used to pull from Gerrit or another origin and then push into GitLab. GitLab CE's push mirroring is also deficient in that it requires each origin repo to individually configure credentials for the downstream. These credentials cannot be hidden from the GitLab repo owner, nor can they be shared across repos. This makes GitLab CE's push mirroring support insufficient to implement bulk mirroring from our GitLab to other codeforges such as GutHub.
In my personal opinion, Diffusion provides a much nicer code and commit history browsing experience over Gitiles (the code browser currently used with the Wikimedia Gerrit deployment). You can compare and decide for yourself if you concur, but if we rip out Diffusion then there will not be a choice.