Apache Subversion 1.7 est sorti le 11 octobre. Attendue de longue date, cette version majeure apporte de nombreux changements dans lesquels on ressent l’influence de la popularité croissante des gestionnaires de versions décentralisés.
Cette version 1.7 est compatible avec les versions précédentes, côtés client et serveur, même si les nouvelles fonctionnalités (détaillées dans la seconde partie de la dépêche) ne seront pas toutes disponibles.
Liste des nouveautés
- un répertoire
« .svn/ »
unique à la racine de la copie de travail. Fini le répertoire« .svn/ »
dans tous les répertoires du projet. Pour mettre à jour une copie locale existante, il faut utiliser« svn upgrade »
; - amélioration de l’utilisation du protocole HTTP ;
- nouvel outil d’administration
svnrdump
offrant les mêmes fonctionnalités quesvnadmin
, mais qui peut être utilisé depuis un client (svnadmin
nécessite les droits administrateur sur le serveur) ; -
« svn diff »
utilise maintenant le format unifié par défaut. Une nouvelle option« --git »
permet d’ajouter des informations pour les fichiers ajoutés, supprimés ou copiés, et produit des patches compatibles avecgit-apply
; - nouvelle commande
« svn patch »
pour appliquer des patches au format diff unifié ; -
« svn log »
peut afficher les différences avec l’option« --diff »
; -
« svn relocate »
permet de changer l’URL d’un dépôt et remplace la commande« svn switch --relocate »
; - amélioration des fusions (merges).
Popularité : svn versus les dvcs
- si l’on regarde les statistiques de nombre d’installations et de votes chez Debian, Git aurait dépassé Subversion au cours de l’année 2011 ;
- la comparaison sur ohloh.net entre Subversion, Git et Mercurial.
Aller plus loin
- Notes de version 1.7 (396 clics)
- Apache Subversion (356 clics)
- Dépêche LinuxFr « Rififi autour de Subversion » (277 clics)
# Euh, mercurial est écrit en perl ?
Posté par Philippe F (site web personnel) . Évalué à 6.
C'est une blague cette comparaison sur Ohloh, il a détecté que mercurial était écrit en perl !!! J'ai du rater un épisode, tout le monde sait qu'il est en parrot !
Sinon, la comparaison n'est pas très intéressante, elle mesure juste le dynamisme des projets eux-même. Ce qui serait plus intéressant, c'est de mesurer le nombre de projet utilisant respectivement mercurial, subversion ou git. C'est ce qui est fait ici:
http://www.ohloh.net/repositories/compare
Et on voit que mercurial se prend une grosse grosse claque. Dommage, moi j'aime bien ce projet. On voit aussi que subversion domine encore le monde, ce qui me semble logique. On change pas de VCS comme ça, encore moins pour passer d'un truc compréhensible par les non geeks comme un VCS centralisé à un truc incompréhensible même par certains geeks, comme git.
Cela dit, à côté de mercurial, bazaar peut aller se rhabiller...
Quand je vois la place de CVS aussi, ça fait pleurer un peu. Worse is better, n'oublions pas !
[^] # Re: Euh, mercurial est écrit en perl ?
Posté par Dominique Feyer (site web personnel) . Évalué à 6.
Je dois faire parti des geeks qui réfléchissent pas comme les autres ... jamais pu adhérer à SVN. Quelques semaines sous GIT dans un gros projets et tout semble tellement plus souple et naturel, là où y fallait pas avoir peur de branché sur SVN, ça devient un réflexe sous GIT
Une petite pensée quand même à ceux qui sont encore forcé d'utiliser CVS
[^] # Re: Euh, mercurial est écrit en perl ?
Posté par banks_the_megalith (site web personnel) . Évalué à -5.
C'est clair que les branches avec Git c'est assez simple. Je trouve que c'est un bon point de plus par rapport à mercurial (en plus du fait que mercurial soit lent)
[^] # Re: Euh, mercurial est écrit en perl ?
Posté par nico_bobo . Évalué à 4.
Merci de penser à moi...
[^] # Re: Euh, mercurial est écrit en perl ?
Posté par Frédéric Blanc . Évalué à -1.
Python, pas Parrot (machine virtuelle cible pour Perl 6, et tout autre langage dynamique, Python inclus)
[^] # Re: Euh, mercurial est écrit en perl ?
Posté par Tobu . Évalué à 3.
J'ai testé avec Ohcount, il n'arrive pas à déterminer le contenu des fichiers
tests/*.t
et se base sur l'extension pour dire que ce sont des tests en Perl. Linguist fait la même erreur mais se plante dès le début, en regardant l'extension avant le contenu.# Indétrônable en entreprise
Posté par small_duck (site web personnel) . Évalué à 5.
En entreprise, Subversion semble encore bien tenir la route. Les manageurs connaissent, le concept de dépôt centralisé les caresse dans le sens du poil, les utilisateurs sont canalisés dans un processus de développement (développement sur le tronc, et branches de releases ou de fonctionnalités), et tout le monde sait à peu près l'utiliser (ça se gâte quand on commence à toucher aux branches). Les utilisateurs chevronnés passent par git-svn, et tout le monde est content.
Aucune des améliorations de la 1.7 n'est particulièrement enthousiasmante, mais c'est bien de voir que le boulot continue. Bon courage aux mainteneurs!
[^] # Re: Indétrônable en entreprise
Posté par isildur37 . Évalué à 2.
Certes, mais git gagne du terrain : beaucoup de SSII s'y mettent, constatant la plus grande souplesse (moi-même, j'étais assez dubitatif, et je m'y mets).
De plus git peut fonctionner "au-dessus" de SVN (cad, svn coté serveur, git coté client).
Les managers vont de plus en plus devoir s'y faire : git colle plus à la philosophie agile que SVN. Et ces choses s'affirment car elles sont particulièrement adaptées aux projet de taille petite et moyenne, ce qui correspond à la majorité des cas.
Je ne dis pas que git est supérieur ou non à svn, mais il faut avouer que pour une utilisation standard, il est relativement simple en comparaison...
[^] # Re: Indétrônable en entreprise
Posté par banks_the_megalith (site web personnel) . Évalué à 3.
... Et moi qui suis bloqué avec bien pire, j'ai nommé la grosse usine à gaz malodorante qu'est ClearCase. J'ai essayé de parler de Git, mais l'ankylose a bien trop pris là où je bosse.
[^] # Re: Indétrônable en entreprise
Posté par Etienne RABY (site web personnel) . Évalué à 5.
Goute donc à Serena Dimension. Un petit exemple pour la route : ce qui s'apparente à un commit + tag sous SVN d'un projet de taille moyenne prends une demie journée avec cette chose.
SVN reste parfaitement adapté pour des projet de moyennes importance, chacun pouvant l'utiliser sans trop remettre en question ses habitudes.
[^] # Re: Indétrônable en entreprise
Posté par Sytoka Modon (site web personnel) . Évalué à 4.
Pour un public non informaticien, passer de rien à SVN est déjà pas mal... je le vend enrobé de TRAC histoire d'avoir un peu de doc avec !
Ne pas oublier qu'un avantage de SVN est de forcer la centralisation. Dans le cadre de mon laboratoire de recherche, cela permet de savoir un peu qui fait quoi et donc espérer plus de collaboration et d'échange entre les personnes. Je sais bien que c'est aussi un inconvénient... Enfin, sur les projets sur le TRAC, on a une histoire relativement bonne des projets et du code.
Pb: comme on versionne cette daube de LabView ? Avez-vous des solutions satisfaisantes pour ce genre de programme ?
[^] # Re: Indétrônable en entreprise
Posté par Maclag . Évalué à 3.
J'ai posé la question pendant 4 ans dans ma précédente boite.
Il paraît qu'il y a un truc intégré dedans pour le versioning. En pratique "c'est pas la peine, je sais ce que j'ai changé! -ah oui quand même..."
[^] # Re: Indétrônable en entreprise
Posté par Christophe Turbout . Évalué à 3.
j'utilisais trac aussi avant mais quand tu as goûté à redmine, tu n'hésites plus tu prends redmine.
[^] # Re: Indétrônable en entreprise
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
J'ai une centaine de projet sous trac avec des utilisateurs qui ont appris à l'utiliser. Je changerais bien à terme mais se pose le problème de la migration. Il est hors de question de migrer sans les wikis actuels !
[^] # Re: Indétrônable en entreprise
Posté par Lucky Seven . Évalué à 3.
Et aux projets de grosse taille aussi, comme, au hasard, le kernel Linux...
[^] # Re: Indétrônable en entreprise
Posté par vlad59 (site web personnel) . Évalué à 2.
Je suis d'accord Subversion a encore de beaux jours devant lui en entreprise.
J'ai tenté de migrer en mercurial il y a un an et après 1/2 journée d'explications aux chefs de projets avec explication des intérêts et l'officialisation d'un rôle d'intégrateur et je me suis fait rembarré.
Au final Subversion marche bien mais un dvcs permet souvent de clarifier les rôles et les responsabilités de chacun.
Sinon concernant cette version 1.7 : pas de grandes nouveautés et du retard par rapport à la date prévue (fin septembre).
J'ai l'impression que l'activité de développement baisse, ça ne me rassure pas.
[^] # Re: Indétrônable en entreprise
Posté par Étienne . Évalué à 10.
Dans une migration vers un autre gestionnaire de source, l'aspect humain est je pense beaucoup plus important que l'aspect technique. Je pense que pour réussir sa migration, il faut plusieurs ingrédients :
Avec ce système, on voit déjà l'intérêt de Git ou Hg par une gestion des merges beaucoup plus puissante qui donne beaucoup moins de conflit, on peut aussi commencer à voir qu'on peut faire des commits dans son coin sans impacter personne et ainsi jalonner son travail.
Le changement du workflow peut se faire dans un second temps. Je suis d'accord avec toit qu'un workflow intégrateur est très intéressant mais il est plus facile de le vendre comme un changement d'habitude que comme un changement d'habitude et d'outil.
Si on regarde le projet PostgreSQL, ils ont fait une transition de CVS vers git, mais pour le moment, ils n'utilisent qu'une partie de git, par exemple ils se refusent à faire des merges et font uniquement des rebase pour garder un historique linéaire comme ils en avaient l'habitude avant. Ils ont maintenant les bases techniques pour faire des changement d'organisation plus tard. (voir à ce sujet l'article sur l'indispensable lwn : Lessons from PostgreSQL's Git transition
Pour terminer, il est intéressant de bien vendre sa migration. C'est à dire repérer dans l'outil actuel ce qui pose problème : dans une migration que j'ai eu à faire, on utilisait svn avec des branches et l'équipe était relativement nombreuse (une petit quinzaine). Les merges devenaient vraiment compliqué, malgré l'utilisation de svnmerge (plus tard intégré à la version 1.6 de svn si mes souvenirs sont bons). J'ai commencé à faire des essais avec git-svn, puis sur un développement que j'avais à faire avec quelqu'un d'autre nous avons travaillé à 2 avec git. L'opération étant concluante, il a fallu bien préparer la migration et convertissant tous les outils (divers scripts, intégration continue, génération des fiches de version logiciel, etc.) et préparer des docs hyper directives. La migration a pu être vendue sur la facilité des merges par rapport à l'outil précédent et le fait que tout soit prêt à l'avance a permit de limiter les problèmes techniques rencontrés et grandement facilité l'adoption.
Étienne
[^] # Re: Indétrônable en entreprise
Posté par vlad59 (site web personnel) . Évalué à 3.
Merci de ton retour expérience.
Je suis globalement d'accord avec toi : pour ce genre de migration il faut être très pédagogue et prendre le temps.
Pour finir sur mon expérience nous sommes toujours sur Subversion mais le rôle d'intégrateur est parfaitement intégré (j'ai fait l'inverse de ton cas) et on se demande comment on faisait avant. Quelques développeurs (en plus de moi) utilisent hgsubversion avec TortoiseHg et je pense que le passage à un dvcs commence à murir.
J'attends juste de voir comment va évoluer git sur un environnement Windows pour ne pas partir sur Mercurial et migrer vers Git un an après.
Merci encore.
[^] # Re: Indétrônable en entreprise
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
15 jours seulement... Je te trouve un peu dur ;-)
[^] # Re: Indétrônable en entreprise
Posté par vlad59 (site web personnel) . Évalué à 1.
Peut être ;)
Je dois être méchant.
# rapidité accrue
Posté par pascalc . Évalué à 5.
J'ai compilé svn 1.7 hier car je travaille sur de nombreux projets sous SVN et j'en suis très satisfait, les améliorations en termes de rapidité sur des dépôts très volumineux (dizaines de milliers de fichiers et dossiers) sont énormes grâce à la modernisation du format de dépôt local (facteur 10 pour moi, je passe d'une à deux minutes pour un svn up à quelques secondes). Ce qui est vraiment bien c'est que je bénéficie du gros des améliorations alors que le serveur sur lequel je travaille est toujours en 1.6 et ne migrera probablement pas avant longtemps. TortoiseSVN a aussi été mis à jour pour mes contributeurs sous Windows et ils sont apparemment aussi très contents des gains de perf.
Si votre serveur est en 1.6, n'hésitez donc pas à passer votre client en 1.7, inutile d'attendre une migration en 1.7 des dépôts :)
[^] # Re: rapidité accrue
Posté par bat13 . Évalué à 3.
Et si le serveur est un SVN 1.4.3 (oui, je sais, mais j'y peux rien), y a-t-il un intérêt/risque à passer à TortoiseSVN 1.7 ?
[^] # Re: rapidité accrue
Posté par pascalc . Évalué à 4.
D'après les notes de version, oui tu bénéficierais des avantages côté client:
http://subversion.apache.org/docs/release-notes/1.7.html
Mai bon, vu que 1.4.x et 1.5.x ne sont plus des versions supportées, ça serait probablement à tester préalablement.
# Transition
Posté par barmic . Évalué à 1.
Comment peut-on passer la transition ?
Peut-on avoir des clients en version 1.7 et un serveur en version 1.6 ? Peut-on déjà y voir un gain ?
Et l'inverse ?
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Transition
Posté par pascalc . Évalué à 3.
Pas de problème pour avoir le client en 1.7 et le serveur en 1.6, c'est prévu pour (voir mon message précédent) :
http://subversion.apache.org/docs/release-notes/1.7.html#compatibility
Tu ne bénéficies évidemment que des gains côté client, pas côté serveur mais dans mon cas, les gains sont très appréciables.
# Nouveautés ?
Posté par sifu . Évalué à 1.
J'ai l'impression que les nouveautés ne sont tip-top non plus.
Il y a des nouveautés mises en avant qui font vraiment pas rêver:
svn relocate: cela laisse rêveur ...
svnrdump: pas mal mais non désactivable apparemment.
Personnellement, là où j'ai les plus galéré avec SVN c'est dans les merges ... Il y avait des tree conflicts à la con dont avait peine à déterminer l'origine.
[^] # Re: Nouveautés ?
Posté par wismerhill . Évalué à 3.
Si, cf
http://subversion.apache.org/docs/release-notes/1.7.html#svnrdump
[^] # Re: Nouveautés ?
Posté par sifu . Évalué à 1.
Et ça:
This hook script suffices to protect repositories from accidental use of svnrdump load. It does not (and cannot) protect the server from users who intentionally recompile svnrdump in order to bypass this restriction.
[^] # Re: Nouveautés ?
Posté par Antoine . Évalué à 2.
Ben oui, mais dans ce cas-là il n'y a pas que svnrdump. Beaucoup d'outils de conversion (genre hgsubversion) utilisent probablement la même API, avec les mêmes risques.
[^] # Re: Nouveautés ?
Posté par Tobu . Évalué à 2.
svnrdump fonctionne côté client, et semble utiliser le protocole existant. J'ai pu m'en servir pour dumper des repos depuis des serveurs certainement pas bleeding-edge.
# Pourquoi la section C/C++?
Posté par cjlano . Évalué à 10.
Simple question, pourquoi la section de la news est C/C++ ?
J'aurais plutôt vu une section "Gestion de versions" qui regrouperait les news CVS, SVN, Git, mercurial et leurs amis, mais elle n'existe pas: https://linuxfr.org/sections
Ou alors une section "code" ou "programmation" plus générique?
Sinon, dans "Communauté" ou "Technologie" peut être?
A+
[^] # Re: Pourquoi la section C/C++?
Posté par rewind (Mastodon) . Évalué à 3.
http://linuxfr.org/suivi/une-section-gestion-de-versions
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.