On 2014-05-30, 7:25 PM, Chad wrote:
All,
When we end up moving MW core to Phabricator I'd like us to jettison our
history. The
repo is large and clunky and not conducive to development. It's only going
to grow in
size unless we do something to cut back on the junk we're carrying around.
This is my ideal Phabby world:
mediawiki (no /core, that was always redundant)
mediawiki/i18n (as submodule)
mediawiki/historical (full history, previous + all mediawiki going forward)
If we jettison all our history we can get the repo size down to a 30-35MB
which is
very nice. Doing it on Gerrit isn't worthwhile because it'd basically break
everything.
We're gonna be breaking things with the move to Phab...it's then or never
if we're
going to do this.
Being able to stitch with the old history would be nice and I think might
be doable with
git-replace. If not, I still think it's worth discussing for developer and
deployer productivity.
Thoughts?
-Chad
Eliminating localization updates from repos is always nice, I hate it
when they fill up a repo's history. However using a submodule doesn't
fix that it just replaces i18n file commits with a submodule update commit.
Personally I've always wanted to switch to JSON messages (^_^ yay we
already did that), drop messages for all language besides the canonical
texts (en and qqq), then integrate the automatic fetching of messages
for other languages into MediaWiki (tarballs releases can be bundled
with a snapshot of the data for intranets, etc...; ExtensionDistributor
can do the same; and thanks to things like localization caches we won't
even need to require filesystem write to do this). Especially for
extensions, the i18n commits for our extensions completely drown out the
code contributions.
However I don't really like the thought of dropping the history. We're
using git, switching to phabricator shouldn't actually break anything
(except custom things like `git review`). git {clone|fetch|pull} won't
work from the old url anymore, but all people have to do is `git remote
set-url {new url}` or `git remote add {new remote} {new url}` and voila,
they pick up right where they left off, this time with Phabricator
backing git instead of Gerrit.
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [
http://danielfriesen.name/]