Diederik van Liere wrote:
>  We are making three fundamental changes in one-shot:

They are not that much of change. It is like if you changed from using a
paper map and an old car to a nice SUV with a GPS. It is still a lot of
metal on 4 wheels with one purpose: move some fresh meat from A to B.

The model is the same. Only the tool changes.
(you can quote me on this when we finally take the decision to migrate
to JavaScript or Python)


> 1) Migrating from a centralized source control system to a
> decentralized system (SVN -> Git)

Decentralization itself is just a buzz word for the twitter guys. In the
end, it does not change that much since most people have a reference
repository.  I guess most developers will use the WMF repository as a
reference, or at the very least, all patches will eventually end up in
the WMF repository.

We could imagine having the WMF feature team to use their own repository
then submit a nice giant patch once in a while.


> 2) Introducing a new dedicated code-review tool (Gerrit)

That one is a habit change. It is a bit disturbing for the first week,
just like any new web interface. We will eventually get used to it.  I
am sure people will easily adapt to the GUI and we will be there to assist.


> 3) Introducing a gated-trunk model

We have been using a gated-trunk model for as long as I can remember.
Here how it goes with subversion/CodeReview:


=======================[ SVN PROCESS ]================================
- someone submit its patch proposal in subversion trunk
- patch is reviewed then either it:
   -> gets rejected : revision is reverted and marked as such
   -> is accepted  : revision marked 'ok'
   -> it needs enhancement : marked 'fixme' repeat :-)

>From time to time, all patches marked 'ok' are allowed to pass the gate
and land in a wmf branch. Then we deploy them.
======================================================================


We will use the exact same model with git/gerrit:

=======================[ GIT PROCESS ]================================
- someone submit their patch proposal in Gerrit
- patch is reviewed then either it:
  -> gets rejected: marked abandoned in Gerrit
  -> is accepted : patch is merged in WMF reference repository by Gerrit
  -> it needs enhancement : comment asking submitter to enhance it.

>From time to time, all patches merged in the master branch are allowed
to pass the gate and land in a wmf branch. Then we deploy them.


As a summary:

 commit to trunk      --> submit to Gerrit
 revision marked 'ok' --> change merged
 trunk to WMF branch  --> master into WMF



Note: it works the same with Bugzilla, people send their patches as
attachments to a bug report. It reviewed there and eventually patch is
applied by a gate keeper.



-- 
Antoine "hashar" Musso



_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to