Aller au menu - Aller au contenu

SVN 1.5 se montre au grand public

Revenir à la liste des news
Participer à la discussion

Informations

Contributeur(s) : bluestorm, Craw et wgmpgp
Publié : le 13/07/2008 à 17:04:07
Catégorie : Logiciel
Visualisations : 14

SVN 1.5 se montre au grand public

Subversion (SVN) est un logiciel libre de gestion de versions : c'est un programme permettant à plusieurs personnes de travailler sur des documents placés sur un serveur en commun, en gérant les modifications et sauvegardant l'historique du projet. Ces logiciels sont surtout utilisés pour la conception collaborative de logiciels, quand une équipe de plusieurs programmeurs (mais aussi artistes, etc.) a besoin de mettre son travail en commun et de suivre les modifications de tous les participants.
SVN (que nous dénommerons ainsi dans la suite de cette news) est un des logiciels majeurs dans ce secteur, et une nouvelle version majeure, la 1.5, est sortie il y a deux semaines.

Quelques connaissances dans le domaine…



Image utilisateur

L'histoire de SVN



Historiquement, le logiciel de gestion de versions utilisé par la plupart des projets libres est CVS (Concurrent Versions System). Créé dans les années 80, il a rendu de bons et loyaux services à de nombreux projets, mais son âge commençait à se montrer. SVN, lancé en février 2000 par CollabNet, une entreprise californienne, s'est constitué comme un remplaçant de CVS de nouvelle génération, en essayant d'en reprendre les principes et d'assurer une certaine compatibilité, tout en résolvant certains défauts et apportant de nouvelles fonctionnalités.



Comment fonctionne un système de gestion de versions ?



Pour comprendre la raison du passage de CVS à SVN, il faut tout d'abord comprendre un peu mieux leur fonctionnement.

Tout d'abord, l'utilisation de SVN n'est possible que si toutes les personnes du projet installent un programme supplémentaire, appelé un client SVN. Ce client se connectera au serveur commun et échangera des informations avec lui. Sous Windows, on peut par exemple utiliser le très connu Tortoise SVN. Il vous permettra en quelques clics de gérer à distance votre projet.

Subversion remplit en fait toutes les fonctions de base pour permettre aux utilisateurs de gérer un projet à plusieurs. On peut par exemple citer les suivantes :

  • Le checkout : c'est une des fonctions primordiales de SVN. Il va créer un dossier contenant les fichiers du projet, et conserve des informations supplémentaires telles que la version des fichiers, pour pouvoir ensuite mettre à jour le projet de manière très rapide. Ce checkout est nécessaire lorsque l'on commence à travailler sur un projet.
  • Le commit : lorsque quelqu'un modifie un fichier du projet, la modification n'est en fait effectuée qu'en local, sur l'ordinateur du développeur. Pour la rendre publique et visible de tous, le développeur doit effectuer un commit qui enverra tous les nouveaux fichiers sur le serveur.
  • L'update : c'est un peu l'opération inverse du commit : lorsqu'un commit a été réalisé, les autres développeurs doivent effectuer une update (mise à jour en français) pour récupérer les nouvelles versions de tous les fichiers.


Les logiciels comme Tortoise SVN simplifient grandement ces tâches. Sans eux, vous pourriez également passer par la ligne de commande pour réaliser ces fonctions (par le biais de svn checkout, svn commit ou svn update, rien de compliqué de ce côté ;) ). Le tutoriel de Dalshim sur Subversion vous expliquera toutes ces subtilités plus en détail :) .

Pour finir, signalons quand même qu'à la différence de systèmes de gestion de versions que l'on peut qualifier de décentralisés, Subversion nécessite un serveur pour fonctionner correctement, et ne permet ainsi pas de développer sans connexion internet, même s'il est tout de même possible d'utiliser son propre ordinateur comme serveur.


Tortoise SVN

L'interface de Tortoise SVN, un client Subversion très utilisé



Un changement donc justifié



SVN corrige en fait de nombreux problèmes présents dans CVS : par exemple, les commit atomiques n'étaient pas supportés, ce qui obligeait ainsi à diviser un ensemble de commits en plusieurs plus petits commits et faisant ainsi perdre un temps précieux au développeur.

Une autre fonctionnalité manquante de CVS était la possibilité de renommer ou de déplacer des fichiers tout en gardant l'historique des modifications de ces fichiers. Ainsi, tout renommage d'un fichier impliquait la perte de son historique. SVN permet maintenant cela d'une manière très facile, avec la commande svn mv [source] [destination] :) .

SVN ajoute aussi une gestion basique des droits sur les fichiers, permettant ainsi de contrôler qui peut modifier certains répertoires, via des groupes d'utilisateurs. Cela n'était pas possible avec CVS : une personne ayant accès en écriture au projet l'avait sur tous les fichiers du projet.

Les nouveautés de SVN 1.5



De nombreux bugs corrigés



Plus de 150 erreurs qui ont étés corrigées dans cette nouvelle mouture de Subversion. Cette correction massive de bugs permet une utilisation plus confortable de Subversion au quotidien : en effet, il est plutôt désagréable de voir son client SVN planter pendant un très long checkout :p .

De nouvelles fonctionnalités



En plus de ces nombreux bugs corrigés, SVN 1.5 apporte de nombreuses nouveautés au niveau des fonctionnalités. On peut par exemple citer les suivantes :
  • La gestion des copies et déplacements de fichiers ont été totalement revues et améliorées : en effet, lorsque une copie de fichier était effectuée sur le serveur via svn move puis svn commit, le comportement adopté par les précédentes versions de Subversion était le suivant : tout d'abord, on envoyait un tout nouveau fichier ayant le contenu de l'ancien fichier, puis on supprimait l'ancien fichier. Ce comportement était plus que lent avec de très gros fichiers (obligation de retélécharger le fichier en entier). Cela est maintenant remplacé dans SVN 1.5 par un déplacement direct du fichier sur l'ordinateur du développeur.
  • SVN est beaucoup plus réactif lorsque l'on veut annuler une action en cours : il fallait parfois plus de 5 secondes dans les versions précédentes pour que SVN stoppe l'action en cours.
  • Le programme a été intégralement optimisé et est ainsi plus rapide à l'exécution que dans les précédentes moutures.
  • Le sparse checkout fait son apparition et permet ainsi de récupérer uniquement une partie du projet, et pas l'intégralité. Cela était laborieusement faisable avec les précédentes versions, mais peut maintenant être réalisé très rapidement.
  • Le merge tracking permet de rendre compte de la fusion de deux branches du projet. Pour information, une branche est une version à part du projet qui permet de travailler localement sur le code, sans que les modifications affectent immédiatement les autres branches. On peut ainsi y faire des tests de nouvelles fonctionnalités expérimentales. Quand on veut intégrer ces fonctionnalités dans la branche principale (celle qui est distribuée aux utilisateurs), on réalise ce que l'on appelle une fusion de branches (ou merge en anglais), fusionnant deux branches en une seule. Avant, c'était réalisé via des déplacements de fichiers ou des patches, ce qui rendait l'opération très délicate. Cela est maintenant faisable automatiquement via la commande svn merge.


Du nouveau également du côté de Tortoise SVN



L'équipe de développement de Tortoise SVN a profité de la sortie de SVN 1.5 pour sortir leur nouvelle version de Tortoise SVN, la version 1.5.0.

Plusieurs améliorations sont au rendez-vous, dont notamment une révision de l'interface graphique permettant un plus grand confort de lecture, et l'utilisation de plusieurs nouvelles icônes s'affichant notamment sur les dossiers du projet.

Conclusion



Nous avons fait le tour des principales nouveautés de cette version de SVN, mais également de celles de la nouvelle version de Tortoise SVN. Pour plus d'informations, et pour une liste exhaustive des améliorations, je vous conseille de vous référer au ChangeLog de SVN 1.5.

SVN 1.5 est téléchargeable depuis le site officiel de Subversion :



En conclusion, Subversion 1.5 apporte de nombreuses nouveautés comblant les manques des précédentes versions, et corrigeant des bugs importants et gênants pour l'utilisateur. Des fonctionnalités comme le merge tracking n'annoncent que du bon pour l'avenir de SVN et sur les prochaines versions à venir.

Merci à vincent1870 pour la relecture. ;)

47 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1  2  Suivante
Pseudo Discussion
1 visiteur sur cette news (0 membre et 1 Anonyme)
Page 1  2  Suivante
Hors ligne rotoclap-le-connard # Posté le 13/07/2008 à 17:05:07
Groupe : Bannis

Sa me donne envi de me lancer dans subversion ^^ .
D'ailleurs se matin j'ai commencé et sans le savoir j'ai télécharger Tortoise SVN en version 1.5 :p .
Hors ligne DeadPixel # Posté le 13/07/2008 à 17:09:04
JESUS IS LOVE
Avatar
Flux RSS

Ville : Dundee
Pays : Royaume-Uni

Pour Mac, je conseille le nouveau-né Versions, super bien foutu (mais en bêta, en anglais et il sera payant après la période de bêta). Mais c'est toujours mieux qu'en ligne de commande ou svnX.

graphiste & étudiant en design d'interaction — deadpx.fr.

EVIL = #define true random()%2
 
Hors ligne Michacke # Posté le 13/07/2008 à 17:14:01
Je suis l'ombre de moi même !
Avatar
Groupe : Bannis

Bonne news. :)

Bannis sous demande. Supression => trop délicat alors, j'ai été bannis avec mon consentement ;) .
 
Hors ligne Aurel88 # Posté le 13/07/2008 à 17:15:38
Avatar

Études : Lycée Henri Poincaré - Nancy

Merci pour la news !

Signé Aurel88

 
Hors ligne filc # Posté le 13/07/2008 à 17:45:29

Études : IUT Vannes

Je me suis arrêté avant le milieu, je comprends strictement rien.

Compte twitter de Lordi-France. Toute les dernières news sur Lordi !
http://twitter.com/lordifrance
 
Hors ligne JC Second # Posté le 13/07/2008 à 17:51:12
Avatar

Que lis-je ? TortoiseSVN fortement recommandé pour les gens ?

Pourquoi ne pas arrêter les absurdités, réfléchir une minute et dire : "Pour se servir d'un serveur SVN, il faut utiliser un client SVN. Certains utiliesnt Tortoise SVN (pour Windows), d'autres |insérez ici des exemples|, d'autres le logiciel "subversion" en ligne de commande". Mais là, on nous laisse croire que soit c'est Tortoise, soit la ligne de commande.

D'autre part, c'est brouillon sur les explications sur le checkout. Les dossiers "trunk", "branches" et "tags" ne sont créés que s'ils existent, pas automatiquement. Bien sûr c'est recommandé d'avoir une telle archi mais que dire d'un dépôt SVN où il n'y a pas cette archi, juste les sources ? Ca existe...

A propos de dépôt, on aimerait peut être bien lire le mot... Qu'on ne trouve pas dans la news à première vue.

Hors du sujet "SVN", que lit-on d'absurde ?

"(pour rappel une URL relative est un lien pointant vers un fichier placé dans le même répertoire que le document actuel). "

Ah bon... Donc je ne peux pas faire d'url relative vers un fichier situé dans un autre dossier ? Nouveau...

Le paragraphe sur l'histoire de l'IP est un peu embrouillé aussi. Ce n'est pourtant pas spécifique à SVN : quand on monte un serveur, il faut une IP stable ou un nom de domaine.

Rédiger une news suppose de connaître le sujet... Là je note une énorme baisse de qualité. Autant je suis le premier à défendre les news qui se font tailler injustement, autant faut pas se foutre du monde. C'est pas parce que c'est le SdZ qu'on peut faire n'importe quoi juste pour être en première page pendant 15 jours.

Image utilisateur
 
Hors ligne Bachir ElMagnifico # Posté le 13/07/2008 à 17:53:58
Avatar
Groupe : Bannis
Flux RSS

super je veisde decouvrir en meme temps le tuto du site

Image utilisateur
 
Hors ligne Bérith # Posté le 13/07/2008 à 17:55:49
Avatar

moi aussi...
Hors ligne Nesquik69 # Posté le 13/07/2008 à 18:30:36
Slave of the Rythm
Avatar
Groupe : Auteurs

Ville : Tassin la demi-lune
Pays : France métropolitaine

@Craw -> Certes, tu es doué pour faire des news mais pour faire un "pseudo-tuto" c'est pas encore gagné (alors que pourtant ton tuto sur le PHP est très bien fait mais bon c'est HS ^^ )... désolé de te le dire comme ça mais même moi, pourtant utilisateur (basique) de Tortoise SVN, je n'ai absolument rien compris >_< !

Cependant, la deuxième partie (la news en elle-même) est parfaitement claire. Je te conseille de revoir rapidement ta news même si tu dois carrément supprimer la partie "tuto" ;) .

Mes sites web : Plune | It's Friday!
Mes tutos : Javascript | Ajax
Mes projets : SpeedTest | Boxifier | zUploader
Articles : Breakpoint 2007 / 2008 / 2009
Useless : Mangas | Caramelldansen | Monde parallèle acidifié | Tydax
 
Hors ligne wgmpgp # Posté le 13/07/2008 à 18:33:01
Rotoclap true fan
Avatar
Groupe : Bannis

Études : EPITA

Bluestorm et moi-même avont réécrit entièrement la news, nous comptons l'envoyer aux newsers le plus rapidement possible, si Craw est bien entendu d'accord.
 
Hors ligne Tortue facile # Posté le 13/07/2008 à 18:43:14
DB2 + Cobol + CICS
Avatar
Groupe : Anciens
Flux RSS

Ville : Ivry-sur-seine
Pays : France métropolitaine

Citation : JC Second
"(pour rappel une URL relative est un lien pointant vers un fichier placé dans le même répertoire que le document actuel). "

Ah bon... Donc je ne peux pas faire d'url relative vers un fichier situé dans un autre dossier ? Nouveau...


Ouais ouais, tu connais ../ :-°

Grand fan de la tortue j'ai créé un site web avec notamment des infos sur l'hibernation de la tortue de terre. Je vous conseille aussi de lire cet article sur les pratiques contestables de Blogbang vis à vis de sa régie de pub.


 
Hors ligne JC Second # Posté le 13/07/2008 à 18:48:01
Avatar

Non mais Tortue facile, je ne voulais pas mettre en cause les compétences de Craw, mais je veux juste faire du feedback sur cette news.

Je pense que c'est plus utile que les "bonnes news" qu'on peut lire sur beaucoup de commentaires, et j'espère ne pas avoir été trop "brutal", mais les news du SdZ sont généralement très bonnes et c'est pour ça que je réagis à celle là, pour conserver le niveau :)

Image utilisateur
 
Hors ligne crow # Posté le 13/07/2008 à 18:56:34
Avatar

Ville : Grand couronne
Pays : France métropolitaine

Oui le sujet est bien, mais les explications ne sont pas très claires, le style est bizarre. On s'attend à lire une news qui présente le logiciel mais on à une sorte d'argumentation.
 
Hors ligne Craw # Posté le 13/07/2008 à 18:58:07
Rien n'est parfait !
Avatar
Modérateurs

Oui, pour ce qui est de renvoyer une news faites comme vous voulez, mais je vois difficilement comment faire pour la mettre en ligne alors qu'il y a déjà elle. ^^

EDIT : la news a été retouchée par bluestorm et wgmpgp, je les remercie. ;)

Nesquik69 : car le PHP j'y arrive mieux. :p
Hors ligne Nesquik69 # Posté le 13/07/2008 à 19:07:36
Slave of the Rythm
Avatar
Groupe : Auteurs

Ville : Tassin la demi-lune
Pays : France métropolitaine

Citation : Craw
Nesquik69 : car le PHP j'y arrive mieux. :p

On dirait bien oui :lol: !

Mes sites web : Plune | It's Friday!
Mes tutos : Javascript | Ajax
Mes projets : SpeedTest | Boxifier | zUploader
Articles : Breakpoint 2007 / 2008 / 2009
Useless : Mangas | Caramelldansen | Monde parallèle acidifié | Tydax
 
Hors ligne JC Second # Posté le 13/07/2008 à 19:12:27
Avatar

La news retouchée vaut son pesant de cacahuètes. Le psychorigide que je suis aurait sûrement un truc ou deux à redire mais il ne faut pas toujours m'écouter ;)

En tout cas félicitations pour votre écoute des critiques.

Image utilisateur
 
Hors ligne Dalshim # Posté le 13/07/2008 à 20:08:37
Avatar

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Citation : DeadPixel
Pour Mac, je conseille le nouveau-né Versions, super bien foutu (mais en bêta, en anglais et il sera payant après la période de bêta). Mais c'est toujours mieux qu'en ligne de commande ou svnX.


hum, je ne connais pas ce Version, ça vaut le coup d'y jeter un oeil. Mais est ce qu'il ne fonctionne que sur mac ou bien sur les autres plateformes aussi. (En fait je n'ai pas compris si c'était un client SVN ou bien un autre système de gestion de versions).

Bref, oui ça peut valoir le coup, mais que si c'est multi-plateforme, et puis si c'est pas cher ou alors pour un gros projet. Par contre, j'aurai deux remarques :
  • La ligne de commande est très simple à utiliser (comme dirait un de mes anciens profs :"génération presse boutons :D "
  • Il n'existe pas que svnX disponible sur mac, le premier exemple qui me vient à la tête est le plugin svnPlugin qui fait marcher les commandes déjà intégrées dans le "clique droit >> plus" de mac (il a eu des problème avec la sortie de Léopard, mais je crois que c'est corrigé maintenant). Et il doit y en avoir 5 ou 6 autres. (cf. Wikipedia)
 
Hors ligne JC Second # Posté le 13/07/2008 à 20:21:29
Avatar

Pour la ligne de commande je suis d'accord avec toi Dalshim mais bon, ça reste une question de goûts.

Et Versions est un client svn, pas un gestionnaire en lui-même.

Image utilisateur
 
Hors ligne Dalshim # Posté le 13/07/2008 à 20:34:41
Avatar

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Citation : JC Second
Pour la ligne de commande je suis d'accord avec toi Dalshim mais bon, ça reste une question de goûts.

Et Versions est un client svn, pas un gestionnaire en lui-même.


Mince, j'ai été tellement nul que je n'ai pas vu qu'il était dans la liste des clients sur Wikipedia (le lien que j'ai donnée) :honte: .
 
Hors ligne alpha_one_x86 # Posté le 14/07/2008 à 08:27:42
Ultracopier, multi-plateforme
Avatar
Flux RSS

Ville : Granollers
Pays : Espagne

J'ai un serveur local, donc si c'est possible de développer sur le même réseau en local sans internet.
 
Hors ligne bluestorm # Posté le 14/07/2008 à 09:00:02
dont ask to ask
Avatar
Groupe : Anciens
Flux RSS

Oui, et c'est d'ailleurs dit dans la news :
Citation
même s'il est tout de même possible d'utiliser son propre ordinateur comme serveur.


Ça reste beaucoup moins flexible qu'un système de controle de version décentralisé : ça marchotte dans le cas d'un seul développeur, mais deux développeurs offline ne peuvent pas commiter sur un même projet.

C'est comme dire « comment ça, les voitures ne sont pas amphibies ? Ma voiture est dans le lac, et je vais y écouter de la musique avec une bonbonne d'air tous les dimanches après-midi » . Ta voiture est effectivement sous l'eau, mais pour conduire c'est bof.
 
Hors ligne deuterium360 # Posté le 14/07/2008 à 12:44:49
...
Avatar

Études : Université Blaise Pascal Clermont-Ferrand

Pas une seule référence à git ?
Que va dire Linus ?

Gordon freeMAN.
 
Hors ligne wgmpgp # Posté le 14/07/2008 à 13:18:20
Rotoclap true fan
Avatar
Groupe : Bannis

Études : EPITA

Citation : deuterium360
Pas une seule référence à git ?
Que va dire Linus ?

Que c'était pas une news sur Git, et que j'ai quand même fait une petite référence aux DVCS, dont Git fait partie. Après, c'est le job du lecteur de se renseigner pour en savoir plus.
 
Hors ligne LogicBloke # Posté le 14/07/2008 à 20:21:38
Let's share the knowledge !

Moi je vais faire un programme plus performant ! ^^ pour coder en groupe !
Hors ligne nono212 # Posté le 15/07/2008 à 00:04:10
Euh..."a" ?
Avatar

Citation : LogicBloke
Moi je vais faire un programme plus performant ! ^^ pour coder en groupe !


Bon courage...
Plus performant que SVN :/

Image utilisateur
 
Hors ligne Craw # Posté le 15/07/2008 à 00:06:50
Rien n'est parfait !
Avatar
Modérateurs

Oui il y a du boulot à mon avis...
Hors ligne Nesquik69 # Posté le 15/07/2008 à 02:33:56
Slave of the Rythm
Avatar
Groupe : Auteurs

Ville : Tassin la demi-lune
Pays : France métropolitaine

Citation : LogicBloke
Moi je vais faire un programme plus performant ! ^^ pour coder en groupe !

C'est beau les rêves :ange: !

Mes sites web : Plune | It's Friday!
Mes tutos : Javascript | Ajax
Mes projets : SpeedTest | Boxifier | zUploader
Articles : Breakpoint 2007 / 2008 / 2009
Useless : Mangas | Caramelldansen | Monde parallèle acidifié | Tydax
 
Hors ligne wgmpgp # Posté le 15/07/2008 à 09:03:52
Rotoclap true fan
Avatar
Groupe : Bannis

Études : EPITA

Citation : nono212
Citation : LogicBloke
Moi je vais faire un programme plus performant ! ^^ pour coder en groupe !


Bon courage...
Plus performant que SVN :/

Bah si tu comprends « performant » comme « avec plus de fonctionnalités pour le développeur », ça existe déja, et ça s'appelle Git ou Mercurial par exemple. Les 3/4 des nouvelles features de SVN 1.5 proviennent des DVCS que je viens de citer (le merge tracking, les changeset, les commits atomiques, etc.).

SVN est juste plus utilisé car plus connu, c'est tout.
 
Hors ligne bluestorm # Posté le 15/07/2008 à 09:05:25
dont ask to ask
Avatar
Groupe : Anciens
Flux RSS

Citation : nono212
Citation : LogicBloke
Moi je vais faire un programme plus performant ! ^^ pour coder en groupe !


Bon courage...
Plus performant que SVN :/


Note : Git est nettement plus performant que SVN pour de grosses opérations.

Je parle ici de vitesse brute, pas de fancy features ou quoi.

Citation
SVN est juste plus utilisé car plus connu, c'est tout.

Je ne suis pas vraiment d'accord. SVN est un bon logiciel dans son domaine (le VCS centralisé). Passer à un système décentralisé est un choix lourd, à la fois simplement au niveau technique (quand tu as une grosse architecture en place et des gens habitués à un outil, c'est forcément moins facile, même si la plupart des DCVS offrent des outils de migration et sont relativement simples à utiliser basiquement), mais aussi sur le plan "social" : le DCVS pousse les gens à revoir la structure de leur "réseau social de développement", en offrant d'autres possibilités. Plus de choix, mais aussi des difficultés peut-être, et pour des gens qui souhaitent un modèle centralisé (par volonté ou par habitude, mais il n'y a pas de raison de les critiquer pour cela), passer à un DCVS n'est pas justifié.

Tu dis peut-être ça parce que tu parles de petits projets (genre, un développeur qui utilise SVN comme serveur de backup, ou même trois pelés qui développent un jeu inconnu dans un langage louche), ou plus généralement de projets Open Source au réseau social très libre (les développeurs vont et viennent, s'entendent implicitement sur leur organisation, etc.). Mais il y a aussi le monde de l'entreprise qui est en général beaucoup plus hiérarchisé, ou même des projets libres à la structure plus rigide, et dans ce cas SVN est réellement un choix raisonnable, et pas "une conséquence de l'ignorance".
 
Hors ligne noluz # Posté le 15/07/2008 à 09:20:34

The Cathedral and the Bazaar, un essai d'Eric Raymond expliquant un peu tout ça :-° (c'est pour votre culture, tout ça, lisez-le si vous ne connaissez pas).
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news