Gestion de version

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher


VCS = Version Control System

La gestion de version sur Wikipedia EN Complet mais en anglais, et sur Wikipédia FR en français mais moins complet


Un peu de théorie

Gestion de versions centralisée

Subversion est un logiciels de gestion de versions centralisée, ce qui veut dire qu'il n'existe qu'un seul dépôt des versions, dépôt qui fait référence.


Gestion de versions décentralisée

Avec l'arrivée des logiciels libres et leur développement communautaire, une autre façon de voir la gestion de versions est apparue. Cette autre vision consiste à voir l'outil de gestion de versions comme un outil permettant à chacun de travailler à son rythme, de façon désynchronisée des autres, puis d'offrir un moyen à ces développeurs de s'échanger leur travaux respectifs. C'est ce que l'on nomme la gestion de versions décentralisée.

Mercurial, Darcs, Bazaar, Git, Monotone, GNU Arch sont des logiciels de gestion de versions décentralisée. Avec ceux-ci, il existe plusieurs dépôts de versions et aucun n'a de statut privilégié.


Comparaison de logiciels

Des tableaux exhaustifs sur Wikipedia

Nous travaillons avec des fichiers *.blend qui ne sont pas des fichiers textes mais des binaires. Celui qui va travailler sur un fichier doit auparavant le verrouiller pour que les autres sachent qu'ils ne doivent rien modifier sur ce fichier. Seul Subversion permet le verrouillage parmi les logiciels libres. Le verrouillage de SVN est un verrouillage doux.

Git vs SVN : Quel est le meilleur ?

Extrait de http://www.looble.com/git-vs-svn-which-is-better/

SVN existe depuis plus longtemps. Il ya des tonnes d'outils disponibles pour rendre son utilisation plus facile pour les utilisateurs non techniques. Les messages d'erreur de SVN ont plus de sens. Si le système de contrôle de version sera utilisée par des gestionnaires, des concepteurs graphiques ou d'autres développeurs, SVN est un meilleur choix. Avec TortoiseSVN, les techniciens peuvent facilement utiliser SVN et trouver des fichiers. Git nécessite un apprentissage bien plus long que SVN.


Pour aller plus loin

A retenir dans le cas d'un projet d'animation: (Remarque de l'auteur: c'est une enquête à charge, pas joli joli!)

Dans un cas très spécifiques comme un projet traitant de gros fichiers binaires opaques, Subversion serait meilleur que DVCS parce que l'utilisateur client de l'espace côté reste constante.

Aussi, si vous utiliser Checkout partielle lourdement, svn sera plus performant (mais quand massivement utilisé ce fait ressortir un problème dans le cadre de vos modules).


Quelques logiciels libres

SVN : Gestion de version avec verrouillage possible

Voir les pages consacrées à Subversion dans le menu principal


Baazar

Créé et utilisé par Canonical sur Ubuntu.

C'est quoi ce Bazaar ?

Bazaar-NG est un système décentralisé de contrôle des révisions conçu pour être simple à développer et à utiliser. Les systèmes décentralisés de contrôle des révisions donnent aux utilisateurs la possibilité de travailler de manière communautaire via internet. Les utilisateurs du Bazaar-NG décentralisé ont le droit de commiter sur leurs projets libres favoris sans demander de permission spéciale de la part du projet qui utilisent Bazaar-NG.


Git

Créé par Linus Torvalds

Git est un logiciel de gestion de version libre, open-source. Il est décentralisé, conçu pour tous les projets, de petits à très grand, il est rapide et efficace.

Mercurial

Work easier

Work faster

Mercurial est un logiciel de gestion de version distribué et libre. Il est efficace sur des projets de toutes tailles et offre une interface facile et intuitive.