Liens connexes

Dépêche modérée par

Dépêche éditée par

: Des nouvelles des gestionnaires de versions GNU Arch et Bazaar

Posté par Matthieu Moy (page perso, ). Modéré le 12 septembre 2005.
0
On a déjà parlé de GNU Arch ici. C'est un gestionnaire de versions décentralisé. Contrairement à un gestionnaire de versions centralisé comme CVS, il est très facile de créer une branche, et de fusionner depuis une archive distante (« branch and merge » pour les anglophiles). La manière normale de fonctionner est d'avoir au moins une branche par développeur, et une branche principale, qui fusionne les changements fait par les développeurs. Le projet utilisant une gestion de versions décentralisée le plus connu est sans doute le noyau Linux.

L'implémentation originale, tla, vient d'être abandonnée par son auteur. Le fork, Bazaar, est en passe d'être remplacé par Bazaar 2, alias Bazaar-NG, alias bzr, plus simple et plus rapide.

> Lire la suite (74 commentaires, moyenne: 3).   [dépêche : 3392 caractères]

GNU Arch a commencé par un ensemble de scripts shell, nommé larch et développé par Tomas Lord. Plus tard, Tom a réécrit ces scripts en C, ce qui a donné l'implémentation tla (comme Tom Lord Arch).

Plusieurs développeurs ont alors rejoint le projet, et donné lieu à de nombreuses améliorations. Malheureusement, Tom a été de plus en plus lent à intégrer les contributions à la branche officielle, et en a même refusé un certain nombre explicitement (par exemple, un système de cache a été proposé pour éviter de télécharger plusieurs fois la même chose, la réponse de Tom a été « I see no reason to modify arch in the slightest little bit to solve *that* problem. »). Les contributeurs ont commencé à publier leur branche d'intégration de manière non-officielle pour que des utilisateurs puissent bénéficier des améliorations avant qu'elles ne soient intégrées officiellement à tla.

Pendant ce temps, Canonical (NdM : la société de Mark Shuttlewoth, plus connue pour la création d'Ubuntu) a décidé d'utiliser GNU Arch comme gestionnaire de version, et a commencé à investir pour faire évoluer l'outil. Plusieurs développeurs de GNU Arch ont alors été embauché par Canonical, une proposition avait même été faite à Tom, qui l'a refusée. Voyant que les améliorations sponsorisées par Canonical avaient peu de chances d'être intégrées à tla, Canonical crée une branche, nommée Bazaar. Pendant un temps, elle sert de branche de développement pour tla, alors que Tom travaille sur des projets qui n'aboutiront jamais (un nouveau langage : XL, une première tentative de réécriture de tla, ...). Un jour, il décrète que le code source de Bazaar n'est pas de qualité suffisante, il remercie le mainteneur, et jette tout le travail qui avait été fait sur une release candidate de la version 1.4, pour travailler sur une version 1.3.1.

Pendant ce temps, Bazaar évolue et s'améliore, au niveau performances et interface utilisateur. En février 2005, Canonical lance un autre projet, Bazaar-NG. À l'origine, c'est un prototype, un terrain d'expérimentation pour valider des concepts qui doivent ensuite être implémenté dans Bazaar lui-même. Il est maintenu par Martin Pool, auteur de rsync, distcc et ccache, et écrit en Python.

Bazaar-NG évolue vite, et même s'il est encore jeune (il utilise encore un format de stockage très inefficace, mais un format plus compact est prévu pour la prochaine version), Canonical décide en Juillet dernier que Bazaar-NG 1.0 sera Bazaar 2. La version 1.x de Bazaar n'évoluera plus après la version 1.5, dont la sortie est imminente, sauf pour des corrections de bugs. Canonical devrait commencer sa migration vers Bazaar-NG en octobre.

Entre temps, Tom Lord a annoncé qu'il abandonnait tous ses projets de logiciel libres, y compris tla, et recv qui était une seconde tentative de réécriture de GNU Arch inspirée de git.

En conclusion, tla et plus tard Bazaar 1.x ont joué un rôle important dans l'histoire des gestionnaires de versions répartis. Aujourd'hui, ils laissent place à Bazaar 2, qui devrait tirer parti de l'expérience de GNU Arch tout en apportant de grosses améliorations. À noter qu'entre temps, plusieurs alternatives viables sont apparues. Par exemple, Mercurial, Monotone et GIT.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Bazaar

Posté par Sytoka Modon (page perso, ) le 12/09/2005 à 08:11. (lien). Évalué à 7.

Pas à dire, la gestion de version décentralisé, c'est réellement le bazaar... Comment voulez vous que des non informaticiens investissent la dedans ? A coté de CVS et maintenant svn relativement stables et portables, les systèmes décentralisés, intéressants au demeurant, restent sur le bas coté.

N'est'il pas possible de regrouper les forces, d'écrire un cahier des charges (comme au temps du début de subversion) et de programmer ensuite un truc solide et pérenne ?

Arch est le premier, mais pas le seul

Posté par LeMarsu (page perso, ) le 12/09/2005 à 08:17. (lien). Évalué à 6.

Après CVS, j'avais découvert arch, et j'avais été séduit par son système centralisé... Pouvoir faire des commits locaux, et ensuite tout merger sur le serveur, c'était génial!

Mais bon, tla possède 150 commandes différentes, avec des noms de 15 caractères en moyennes, c'est pas facile à utiliser... Pour faire son premier import, il y avait au moins 3 ou 4 commandes différentes. Mais comme il savait faire le star-merge, je restais dessus.

Un jour un ami m'a montré subversion. Je trouvais ça pas mal, et tellement rapide (par rapport à arch). C'était bien, mais il n'y avait pas moyen de faire un star-merge. Pour commit dans le train, alors que le serveur est distant, c'était pas très pratique. Donc, je n'ai pas migré, même si je m'en servait pour certains projets.

Un jour, j'ai découvert svk ( http://svk.elixus.org/(...) ça n'a pas l'air de répondre à l'heure ou j'écris mon commentaire). En gros svk, c'est une surcouche de subversion, écrite en perl. Mais, il est aussi décentralisé que peut l'être arch! Et ça, c'était la killer-feature que j'attendais :) Son plus grand défaut doit être son installation (environ 20 modules perl...).

Je ne connais pas Bazaar, et ne me permeterais pas de juger le projet. Mais, bon, depuis que j'ai découvert svk, je suis pas prêt d'en changer.

LeMarsu, avec ces 2 centimes.

Tailor

Posté par Antoine () le 12/09/2005 à 10:11. (lien). Évalué à 6.

Et pour s'y retrouver tout de même dans tout ça, signalons Tailor, qui est un outil de conversion entre différents systèmes de gestion de versions (centralisés ou non) :
http://www.darcs.net/DarcsWiki/Tailor(...)

Tant qu'on y est...

Posté par denjer () le 12/09/2005 à 10:27. (lien). Évalué à 1.

... signalons également que darcs (http://darcs.net)(...) est un excellent système de gestion de version, vers lequel je ne regrette pas de m'être tourné lorsque l'avenir de tla m'a semblé de plus en plus compromis.

Avec darcs, on n'est pas obligé d'avoir de repository fixe (chaque répertoire de travail contient un ensemble de patches, que l'on peut transbahuter à loisir), c'est vraiment agréable. OK, j'ai pas testé bazaar-ng, peut-être il peut le faire aussi.

- d

A ce sujet...

Posté par Bonnefille Guilhem (page perso, ) le 12/09/2005 à 13:53. (lien). Évalué à 3.

... vous utilisez quoi au boulot ?

En fait, je me pose la question car, chez nous, nous utilisons deux types de base de gestion de conf.

La première sert à l'équipe de développement pour... développer. On a donc toto et gugus qui font des commit réguliers (de l'ordre de la journée ou demi-semaine).

La seconde sert au service de gestion en conf. pour suivre tout ce qui est livré au client. Celle-ci sert beaucoup plus rarement (genre deux trois~fois sur un projet).

Là où le bas blaisse, c'est que par manque de recul on utilise les mêmes outils. Pourtant les besoins sont radicalement différents (AMHA). Dans le premier cas, il me semble malgrès l'article mais vu la taille de nos équipes et notre organisation (peu d'itinérant), que SVN est une bonne solution. Dans le second cas, je sèche.

Que conseiller ?

Discussion intérressante

Posté par Guillaume Chevallereau () le 12/09/2005 à 19:18. (lien). Évalué à 3.

Une discussion a eu lieu sur la liste gnome-hackers a propos de la migration de CVS vers subversion/arch :
http://mail.gnome.org/archives/gnome-hackers/2005-May/msg00001.html(...)

[+] Jeu de mot

Posté par Romain Liévin (page perso, ) le 12/09/2005 à 20:50. (lien). Évalué à -2.

<<Le fork, Bazaar, est en passe d'être remplacé par Bazaar 2, alias Bazaar-NG, alias bzr, plus simple et plus rapide.>>

En clair, c le bazar dans les noms !

Je sais, c'était facile. Et hop => -1 !

--
Linux, y'a moins bien mais c'est plus cher !

Après les journaux trollogène ...

Posté par golum () le 12/09/2005 à 22:22. (lien). Évalué à 4.

les dépêches


Contrairement à un gestionnaire de versions centralisé comme CVS, il est très facile de créer une branche, et de fusionner depuis une archive distante (« branch and merge » pour les anglophiles).

Comparer les récents Bazaar et Arch à l'antédiluvien CVS pour le branching et le merge et citer ca comme un avantage des systèmes décentralisés.

svn copy
http://svnbook.red-bean.com/en/1.0/re07.html(...)
svn merge
http://svnbook.red-bean.com/en/1.0/re16.html(...)

Clearcase est aussi un sytème centralisé et gère tout ca parfaitement.

Le différence qu'on retrouve dans les sytèmes décentralisés c'est des opération suppléméntaires (push, pull entre archives) qui apporte plus de souplesse pour forker mais aussi plus de complexité.

Bref un peu de neutralité dasn les news serait bienvenue

Suivez la chaine

Posté par golum () le 13/09/2005 à 19:30. (lien). Évalué à 2.

Comme un certain nombre de sujets sur les outils de gestions de versions sont abordés de façon récurrente sur DLFP, je propose de rajouter un commentaire de ce type sur chaque dépêche ou journal sur ce sujet afin d'établir une chaîne.

On clique sur le lien puis
sur "Lire le journal" pour le consulter en entier
ou sur le lien pointé pour consulter le précédent:

http://linuxfr.org/comments/579366.html#579366(...)

et un thread orphelin
http://linuxfr.org/comments/573380.html#573380(...)

Revenir en haut de page