News Xulfr

Nouveau dépôt de sources chez Mozilla

mardi 3 juin 2008 à 10:47

Il arrive que des projets basés sur Mozilla soient compilés à partir des sources de XulRunner ou de Gecko disponibles en téléchargement, voir même directement à partir du dépôt CVS de Mozilla. Cependant, à l'occasion de la fin du développement de Firefox 3.0 et Gecko 1.9, les développeurs de Mozilla viennent de basculer aujourd'hui même de CVS à Mercurial. Voici quelques détails sur cette révolution culturelle dans la vie du projet.

Le CVS (http://cvs.mozilla.org) reste actif, mais les développements qui se feront dans le trunk ne seront consacrés qu'aux corrections de bugs de Firefox 3.0 et Gecko 1.9, c'est à dire qui ne concernent que Firefox 3.0.x, XulRunner 1.9.0.x et Gecko 1.9.0.x. Notez au passage que XulRunner 1.9 sortira peut-être sous le numéro de version 3.0. Nous y reviendrons certainement dans une autre news.

Les développements pour Firefox 3.1 et 4.0 (c'est à dire Gecko 1.9.1 et 2.0) se feront désormais dans le dépôt Mercurial nommé "mozilla-central". Cela a pour conséquence plusieurs changements :

Le dépôt Mozilla-central ne contient que les sources de Firefox et de XulRunner. Les autres projets auront leur propre dépôt Mercurial.

Au sujet de Mercurial, il y a une page dédié sur devmo. Mercurial est un outil de gestion de version de sources de dernière génération, distribué, facile à utiliser mais néanmoins trés puissant (et développé en python). Le choix de ce VCS a été longuement étudié par les équipes de Mozilla, les alternatives ayant été Git, Bazaar et Subversion. Mais elles ont été écartées pour diverses raisons.

Maintenant que mozilla-central est ouvert aux développeurs, c'est le début du développement de Gecko 1.9.1. Et ça ne chome pas : des patchs sont déjà intégrés, comme le support des pseudo classes et pseudo elements :first-of-type, :last-of-type, :only-of-type, :nth-child(), :nth-last-child(), :nth-of-type() et :nth-last-of-type().

Trackbacks

Les trackbacks pour ce billet sont fermés.

Commentaires

1. mardi 3 juin 2008 à 18:18, par Ner0lph

En parlant des gestionnaires de versions de sources, il serait intéressant d'écrire un billet (ou bien de donner un lien en français) concernant les motivations du choix de Mercurial par rapport aux autres GVS que tu as cités.

2. mercredi 4 juin 2008 à 10:15, par Laurentj

@Neroplh : en trés gros résumé :

  • git est rapide, mais le support sur les plateformes autres que linux n'est pas assez mature. Il est peu extensible aussi (tout en C), alors que personnaliser Mercurial est plus aisé (python...)
  • Subversion : les merges sont foireux (alors que c'est quelque chose de très important), et ça a tout les inconvénients d'un GVS centralisé ;-)
  • bazaar : peu mature par rapport aux autres, développement peu soutenu...

Pour les conclusions, il faut se remettre dans le contexte en 2006, certains défauts pointés à l'époque ont peut être été gommés depuis dans les projets respectifs.

Bref, Mercurial est le meilleur sur pas mal de point vis à vis des besoins de Mozilla. Bien sûr, ce choix ne s'est pas fait en 5 minutes puisqu'ils ont étudiés les possibilités depuis 2006, et ils ont discuté avec chacune des équipes de développement des VCS pour savoir ce qui était possible de faire sur les fonctionnalités manquantes (car même dans Mercurial il y avait des trucs qui manquaient, mais ils étaient moins nombreux que dans d'autres).

Voir http://wiki.mozilla.org/Version_Control_System_Requirements

Il y a eu aussi des billets dans des blogs de mozillien explicant ces choix en details, mais je ne me rappelle plus des liens.

3. jeudi 5 juin 2008 à 09:56, par Ner0lph

Merci pour ces précisions, Laurent.

Les commentaires pour ce billet sont fermés.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.