Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

Logiciel : Subversion 1.4.0 est disponible

Posté par David Anderson (page perso, ). Modéré le 20 septembre 2006.
Communauté
Pour la rentrée des classes, le projet Subversion vous invite à découvrir la dernière version du célèbre système de contrôle de code source.

Subversion est un système de contrôle de révision, développé dans le but de remplacer CVS comme norme du contrôle de révision dans le monde du libre. La version 1.0 est sortie au terme de 5 ans de conception et développement sponsorisé par l'entreprise Collabnet, et regroupe maintenant une communauté très active. Un grand nombre de projets libres importants ont depuis migré vers Subversion et depuis quelques mois le grand hébergeur Sourceforge propose un hébergement sur Subversion, en remplacement de CVS.

Les avancées majeures de cette version sont l'apparition de l'outil svnsync pour synchroniser des dépôts, le support de BerkeleyDB 4.4 et des performances grandement améliorées aussi bien coté client que serveur. Et bien entendu, un nombre d'améliorations mineures et de corrections de bugs.

> Lire la dépêche (80 commentaires, moyenne: 3,1).  

Résumé des améliorations

L'amélioration la plus visible pour les utilisateurs est sans doute l'apparition d'un nouvel outil, svnsync. Comme son nom semble l'indiquer, cet outil permet de créer des miroirs d'un dépôt Subversion, et de gérer la synchronisation de ces dépôts. Ce n'était possible jusqu'a présent qu'en utilisant des scripts qui ne pouvaient pas garantir l'atomicité des opérations, et qui comportaient beaucoup de bidouilles pour permettre de synchroniser de façon fiable. Svnsync utilise une nouvelle API qui permet de s'affranchir de ces bidouilles, et qui sera sans aucun doute très appréciée par d'autres projets ayant besoin de reproduire à distance des copies parfaites d'un dépôt.

L'autre bonne nouvelle, pour les administrateurs de dépôts cette fois, concerne les dépôts utilisant une base BerkeleyDB: Subversion 1.4.0 supporte maintenant BerkeleyDB 4.4. Cette nouvelle version résout le plus gros problème qu'ont les administrateurs de dépôts BDB, en gérant automatiquement le rétablissement d'un dépôt qui a souffert d'une déconnexion brutale. Exit donc les utilisations répétées de 'svnadmin recover' pour faire taire les erreurs suite à une opération malheureuse, BDB le fera tout seul lors de l'opération suivante.

Enfin, pour l'utilisateur et l'administrateur, Subversion 1.4.0 est une version focalisée sur la performance.

Les autres améliorations moins vastes que l'on peut trouver sont:

L'avenir

Avec son adoption par Sourceforge, et plus récemment par Google pour son hébergement de projets libres, Subversion s'établit de plus en plus comme le remplaçant de fait de CVS. Ce n'est pas une raison pour se reposer sur ses lauriers, et les développeurs ont une assiette bien remplie pour l'avenir.

Dans quelques semaines se tiendra le premier SVN Summit. Hébergé par Google en Californie, cette rencontre sera l'occasion pour beaucoup de ces développeurs de se rencontrer pour la première fois (!), et de discuter sur la future direction de Subversion.

L'un des grands sujets du sommet est le support de suivi de branches ("Merge Tracking"), fonctionnalité réclamée depuis longtemps et déjà bien avancée dans la version de développement. Les autres sujets de discussion sont très variés, allant d'une refonte du schéma de représentation d'historique à des témoignages sur des utilisations ésotériques de Subversion.

Il y sera également question de la roadmap vers Subversion 2.0, la première version qui pourra se permettre de briser la compatibilité avec les versions 1.x pour améliorer la structure du logiciel et y faire un grand ménage, corrigeant des problèmes qui n'avaient pu être adressés avant à cause de la politique de compatibilité agressive du projet.

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.

A noter

Posté par Nicolas Parein (page perso, ) le 20/09/2006 à 08:05. (lien). Évalué à 1.

Cette version est déjà disponible dans Slackware current, soit la (très) prochaine Slackware 11.0 (nous en sommes à la rc5).

Contrôle de révision.

Posté par Yth (Jabber id, ) le 20/09/2006 à 09:15. (lien). Évalué à 10.

Cette manière de dire ressemble fort à une traduction littérale et mauvaise de l'anglais, ça n'a pas vraiment de sens...
Enfin au moins je ne comprend pas ce qui peut se cacher derrière ce terme de "cntrôle de révision", pour moi ça ne veut rien dire.

Franchement, mieux vaut soit laisser le terme anglais, soit utiliser une traduction convenable en français, sinon il faut vaguement retraduire littéralement en anglais pour comprendre...

D'ailleurs, une bonne traduction se trouve aisément, tu as mis directement un lien wikipédia vers "contrôle de révision" qui redirige vers la page de "gestion de versions" qui sans être une manière transcendante de décrire le logiciel, à l'avantage d'être compréhensible, en français.

Yth.

Vous devez entrer un sujet

Posté par Troy McClure (page perso, ) le 20/09/2006 à 09:27. (lien). Évalué à 10.

Coté client, les fichiers .svn/entries ne sont plus en XML, et la copie de travail stocke plus intelligemment les propriétés des fichiers. Il en résulte un client Subversion capable de parcourir la copie de travail plus rapidement et efficacement.

Encore une belle preuve de l'aberration totale qu'est XML ... Quand j'entends que certains intaigristes veulent farcir /etc avec ce truc je perds tout espoir dans le genre humain.

Bouquins sur Subversion

Posté par Florent Zara (Jabber id, page perso, ) le 20/09/2006 à 09:56. (lien). Évalué à 10.

Pour ceux qui souhaitent utiliser/passer à subversion, et qui veulent un livre en français, il y en a au moins un chez deux éditeurs de référence : O'Reilly et Eyrolles.

O'Reilly propose la traduction francaise du "SVN Book", Version Control with Subversion, intitulé en francais "Gestion de projets avec Subversion". http://www.oreilly.fr/catalogue/2841772691.html
C'est un livre très théorique, relativement complet. Sorti en novembre 2004 et donc basé sur la version 1.2 de Subversion. Vous pouvez vous faire une idée du contenu (en anglais par contre) sur le site http://svnbook.red-bean.com/en/1.2/index.html car le SVN Book est sous licence CC-by il me semble. (à vérifier par les experts sur http://svnbook.red-bean.com/en/1.2/svn.copyright.html ). Le passage à la version papier est plutôt réussi.

Quant à Eyrolles, le livre "Subversion, Pratique du développement collaboratif avec svn" http://www.editions-eyrolles.com/Livre/9782212119190/subvers(...) est lui aussi une traduction d'un livre anglais, celui de Mike Mason "Pramatic version control using Subversion. Il prends une orientation différente du livre précédent: il est plus axé pratique avec quelques cas d'utilisations concrets décrits (ce n'est pas pour autant un cookbook !). Il va moins dans les détails et les subtilités mais donnera toutes les clefs pour une utilisation quotidienne et une aide à l'administration. La version anglaise se base sur la version 1.2, mais lors de la traduction, les traducteurs ont mis à jour pour une utilisation en 1.3

Personnellement, pour avoir lu les deux, je recommanderais l'Eyrolles à quelqu'un qui débute ou n'a que quelques notions d'un gestionnaire de version et j'orienterais l'utilisateur quotidien de CVS ou autre outil similaire vers l'O'Reilly.

Compatibilité ascendante

Posté par Samuel V. () le 20/09/2006 à 10:48. (lien). Évalué à 5.

Question : j'ai un serveur Mandriva 2005 qui tourne avec subversion 1.1.4, est-ce que je peux tout de meme utiliser la version 1.4 sur les postes clients, ou est-ce que cela peut poser des problemes ?

Faut-il toujours une équivalence entre la version du serveur et celle des clients, ou est-ce que c'est assez souple ?

[+] OpenCVS

Posté par spotty () le 20/09/2006 à 10:51. (lien). Évalué à -1.

Juste pour info, si subversion est le successeur de CVS, cela implique qu'il va le remplacer: je n'en suis pas convaincu

a) CVS est largement utilisé et tout le monde ne vas pas passer à subversion
b) un projet OpenCVS est démarré chez openBSD, qui paraît-il va être utiliser pour les sources d'openBSD.

Merge tracking

Posté par golum () le 20/09/2006 à 11:41. (lien). Évalué à 4.


L'un des grands sujets du sommet est le support de suivi de branches ("Merge Tracking"), fonctionnalité réclamée depuis longtemps et déjà bien avancée dans la version de développement.


Vous êtes sur de ça ?

Sur la roadmap:
http://subversion.tigris.org/merge-tracking/

Subversion's own merge tracking support is still in the conception stage. Email the development list if you're interested in participating in its definition or implementation.


Et si on se rend sur les specs
http://subversion.tigris.org/merge-tracking/requirements.htm(...)
on se rend compte des limitations actuelles.
- risque de doublons ou d'effacement lors des merges répetés
- pas d'historisation des renommages de répertoires ce qui fait qu'il est impossible de maintenir 2 arborescences qui auraient divergé
- pas d'assistant de merge d'arborescence entière.
Lorsqu'un projet doit faire évoluer son architecture dans le cadre d'une migration technique ou d'un changement au niveau du métier c'est très pénalisant

J'évalue actuellement l'opportunité pour ma boîte de remplacer Clearcase SVN en tant qu'outil de GCL par défaut pour les projets, mais de telles limitations me paraissent rédhibitoire. Son usage en l'état ne pourra être envisagé que pour des petites équipes.

David, toi qui semble suivre les discussions sur le sujet peux-tu nous apporter quelques précisions ou un pointeur.

Outil de diff/merge

Posté par MetalX () le 20/09/2006 à 13:05. (lien). Évalué à 1.

Je profite de cet article pour poser une petite question. Quel est votre outil de diff/merge favori?
Personnellement, j'utilise kdiff3, mais j'ai un peu de mal avec l'édition manuel des conflits. ( J'ai auparavant eu à travailler surtout avec le merge de ClearCase et BeyondCompare, et depuis je peine à trouver qqch d'aussi bien )

Enfin !!

Posté par gaston () le 20/09/2006 à 13:21. (lien). Évalué à 2.

Le moteur de diff interne à Subversion peut maintenant ignorer les différences en nombres d'espaces/tabulations et en formats de fin de ligne, pour des diffs qui vont à l'essentiel de ce qui a véritablement changé


Enfin, on va pouvoir avoir des diffs lisibles. j'en peux plus de recevoir des messages de commits contenant des diffs constitués pour 95% de changements d'indentation, tout ca à cause d'éditeurs différents/mal configurés/style d'indentation non communs.

La guerre sur les styles d'indentation par défaut de vim/emacs va peut-être prendre fin. Si seulement tout le monde pouvait utiliser indent, et se mettre d'accord sur un style commun...

Problème des Mac

Posté par Sytoka Modon (page perso, ) le 20/09/2006 à 20:33. (lien). Évalué à 2.

Rien à voir, quoique...

Je me suis amusé à faire un partage WebDav avec autoversionning subversion. C'est la meilleure méthode que j'ai trouvé pour faire du WebDav avec une gestion, modeste, des droits sur les fichiers (Je dis modeste car il y a quasiment toutes les briques pour faire avec svn la grande mode actuelle : les bureaux virtuels. Mais pour en arrivé là, il faut que le client puisse gérer les droits).

Les utilisateurs montent cela sur leur postes, Windows, Mac, Linux. Et là, le problème des Mac avec la pollution des dossiers que ces bestioles génèrent...

D'où ma question : est-il prévu dans svn d'avoir des hooks tout près à l'emploi qui élimine dès le commit ces fameux, et pour le moins épouvantable, fichier spécifique au Mac ? En effet, je ne dois pas être le seul qui a un repository complètement pollué par ces fichiers.

SVN, HTTP et dossier

Posté par Sytoka Modon (page perso, ) le 20/09/2006 à 20:45. (lien). Évalué à 2.

Il y a une fonctionalité super avec svn, c'est le HTTP (ou HTTPS). Un dépot et tu explore la dernière version de ton dépot avec un simple navigateur sur l'url du dépot. Un petit xsl te transforme le XML du serveur en html tout bien jolie.

Question : pourquoi le XML que le serveur SVN génère a si peu d'information. On a le droit d'avoir en double le nom du fichier, donc une fois de trop, mais pas le poids (taille) du fichier, la personne qui a réalisé la dernière révision, ni la date de modification.... Bref, pas mal d'information accessible facilement en ligne de commande.

Avec ce type d'information, en modifiant un peu le filtre xsl fourni, on pourrait avoir un affichage avec un navigateur du même type que celui que donne Apache d'un dossier. L'utilisateur lambda ne verrait même pas qu'il a affaire à un gestionnaire de version.

C'est aussi cela qui me plait avec SVN, c'est qu'il arrive à se faire oublier et que l'on peut avoir l'impression de travailler sur des dossiers comme les autres.

Dans le même ordre d'idée, un module fuse : "svnfs", me paraît complètement indispensable ;-)

bazaar

Posté par Mildred (Jabber id, page perso, ) le 20/09/2006 à 21:41. (lien). Évalué à 3.

Bon, je sais, le sujet c'est svn, mais j'aimerais justement parler de mon expérience avec ce système.

A un moment, j'ai décidé d'utiliser un système de gestion de révision pour mes projets personnels. Ces projets sont au stade pré-alpha, des choses complètement instables, et surtout beaucoup de projets morts nés.

La gestion de révision m'intéressait surtout car je devais souvent créer des dossier old1, old2 ... conrtenant des anciennes versions de mes sources que je ne voulais pas jeter mais pas non plus garder car je les avaient remplacées par du meilleur code. J'installe alors SVN.

C'était mon premier contact avec un système de gestion de révisions mais jai eu beaucoup de mal, surtout à faire la différence entre le repository et la copie locale. Je ne comprenais pas (et je ne comprend toujours pas) pourquoi les deux choses doivent être séparées.

Depuis, j'ai découvert bazaar-ng et je trouve ca beaucoup mieux car c'est décentralisé (plein d'avantages il paraît) et surtout car je n'ai pas a créer un repository à part. Je peux déplacer mes dossiers de projets sur une autre partition (lorsqu je n'ai plus de place) ... je suis libre.

Je ne nie pas que svn puisse être très utile, surtout pour des projets organisés, mais dans mon coin, c'était très compliqué de gérer tout ça, alors je préfère bzr que je maîtrise beaucoup mieux. je sais où sont mes fichiers et c'est ça qui est important pour moi.

Presque off topic

Posté par spotty () le 21/09/2006 à 15:31. (lien). Évalué à 1.

Sans rechercher le troll, je me demande ce qui se passe chez Gnu Arch, savannah avait parlé d'y passer.

Des commentaires sur Gnu Arch vs autre ? Quelques aspects qui m'intéressent chez Gnu Arch c'est non seulement le branch/merge efficace mais aussi la décentralisation et la signature des changements.

Tout info est bienvenue

Revenir en haut de page