background preloader

Git

Git
Un article de Wikipédia, l'encyclopédie libre. Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvalds, créateur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Particularités techniques[modifier | modifier le code] Similaire en cela à BitKeeper, Git ne repose pas sur un serveur centralisé. C'est un outil de bas niveau, qui se veut simple et performant, dont la principale tâche est de gérer l'évolution du contenu d'une arborescence. Git indexe les fichiers d'après leur somme de contrôle calculée avec la fonction SHA-1. Git n'était pas, au départ, à proprement parler un logiciel de gestion de versions. Git est considéré comme performant, au point que certains autres logiciels de gestion de version (Darcs, Arch), qui n'utilisent pas de base de données, se sont montrés intéressés par le système de stockage des fichiers de Git pour leur propre fonctionnement[1],[2]. Le développement est très actif.

Mercurial Un article de Wikipédia, l'encyclopédie libre. Mercurial est un logiciel de gestion de versions décentralisé disponible sur la plupart des systèmes Unix et Windows. Le créateur et principal développeur de Mercurial est Matt Mackall. Mackall met à disposition Mercurial pour la première fois le , seulement quelques jours après que le développement de Git ait commencé[1]. Informations techniques[modifier | modifier le code] sa rapidité et sa capacité à gérer les gros projets ;son utilisation sans nécessiter un serveur ;son fonctionnement complètement distribué ;sa robustesse dans la gestion des fichiers ASCII et binaires ;sa gestion avancée des branches et des fusions ;son interface web intégrée. Mercurial utilise un protocole réseau basé sur HTTP. Les principales commandes de Mercurial[modifier | modifier le code] add Ajoute tout ou une partie des fichiers pour le prochain commit annotate Montre l'origine de chaque ligne distincte dans un fichier texte (auteur, date, révision...) archive clone diff

SVN - Apache Subversion Un article de Wikipédia, l'encyclopédie libre. Subversion (en abrégé svn) est un logiciel de gestion de versions, distribué sous licence Apache et BSD. Il a été conçu pour remplacer CVS. Ses auteurs s'appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est bon, seule son implémentation est perfectible. Subversion fonctionne donc sur le mode client-serveur, avec : Le projet a été lancé en février 2000 par CollabNet, avec l'embauche par Jim Blandy de Karl Fogel, qui travaillait déjà sur un nouveau gestionnaire de version. Le , SVN est devenu officiellement un projet de la fondation Apache, prenant le nom d'Apache Subversion. Les apports de Subversion[modifier | modifier le code] Subversion a été écrit afin de combler certains manques de CVS. Voici les principaux apports : les commits, ou publications des modifications sont atomiques. Branches et Tags[modifier | modifier le code]

CVS - Concurrent versions system Un article de Wikipédia, l'encyclopédie libre. CVS (sigle de Concurrent Versions System) est un système de gestion de versions créé en 1990, qui a été largement utilisé par les projets de logiciels libres. Historique[modifier | modifier le code] Successeur de SCCS, originellement écrit par Dick Grune en 1986, puis complété par Brian Berliner (avec le programme cvs lui-même) en 1989, et par la suite amélioré par de très nombreux contributeurs. Fonctionnalités[modifier | modifier le code] Puisqu'il aide les sources à converger vers la même destination, on dira que CVS fait la gestion concurrente de versions ou de la gestion de versions concurrentes. Gestion de version centralisée[modifier | modifier le code] Implémentations[modifier | modifier le code] Le premier logiciel qui a offert le service CVS s'appelle CVS, parmi les autres logiciels qui offrent un tel service il y a Cervisia, linCVS, TortoiseCVS, WinCVS. WinCVS[modifier | modifier le code] TortoiseCVS[modifier | modifier le code]

GNU RCS Un article de Wikipédia, l'encyclopédie libre. GNU RCS (en anglais « Revision Control System ») est un logiciel de gestion de versions développé en 1982 par Walter F. Tichy. Historique[modifier | modifier le code] Université Purdue[modifier | modifier le code] RCS est donc à l'origine un projet universitaire, initié au début des années 1980, et maintenu pendant plus d'une décennie par Walter F. Ce logiciel représente à l'époque une alternative libre au système SCCS, et une évolution technique, notamment par son interface utilisateur, plus conviviale, et une récupération des données, plus rapide, par l'amélioration du stockage des différentes versions. Outils[modifier | modifier le code] Eric Raymond a contribué au développement d'un outil de conversion capable de récupérer dans RCS l'historique de versions SCCS[4]. Projet GNU[modifier | modifier le code] L'université Purdue poursuit la maintenance du projet sous la bannière GNU à compter de 1995. Caractéristiques[modifier | modifier le code]

Darcs Un article de Wikipédia, l'encyclopédie libre. Darcs est un système de gestion de versions libre, qui sert à garder trace des versions successives d'un ensemble de fichiers (par exemple des sources d'un programme). Darcs appartient à la catégorie des systèmes de gestion de versions décentralisés. Chaque copie de travail est un dépôt complet, avec tout l'historique, dans lequel on peut enregistrer et grâce auquel on peut distribuer ses modifications. Cette flexibilité est permise car Darcs repose sur une théorie des patches, conçue par l'auteur original David Roundy, qui décrit les opérations possibles entre correctifs, notamment la commutation. Darcs est écrit en langage Haskell. BitKeeper Un article de Wikipédia, l'encyclopédie libre. est un système de gestion de versions décentralisée destiné au code source . Conçu comme un système distribué sophistiqué, BitKeeper se positionne comme un logiciel comparable à des systèmes professionnels tels que ClearCase ou Perforce . BitKeeper est produit par BitMover Inc., une compagnie privée basée à San Francisco en Californie, détenue par son PDG Larry McVoy (il est également à l'origine de TeamWare ). BitKeeper reprend plusieurs concepts de TeamWare. BitKeeper est un logiciel propriétaire (ses sources ne sont pas ouvertes au public) et est en principe vendu ou loué (comme composant dans une offre de support plus large) à des grandes ou moyennes entreprises. Utilisation gratuite pour les projets open-source [ modifier ] BitMover proposait l'accès à son système pour certains projets open source ou libres dont l'un des plus célèbres est le code source du noyau Linux . BitKeeper et Linux [ modifier ] Git Mercurial Linus Torvalds Larry McVoy

Fossil (logiciel) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Fossil. Fossil est un logiciel de gestion de versions décentralisé intégrant, par le biais d'une interface web, un logiciel de suivi de problèmes et un wiki. Développé en C par D. Richard Hipp, Fossil est léger et repose sur une base de données SQLite du même auteur. De par sa nature distribuée, Fossil ne nécessite pas de serveur central, bien que la collaboration entre développeurs soit facilitée s'il en existe un. Fossil est un logiciel libre licencié depuis 2010 sous un contrat BSD[2] ; auparavant le projet s'était placé sous la licence publique générale GNU (GPL). Un certain nombre de projets ont déclaré avoir migré de systèmes de gestion de versions plus avancés vers Fossil[réf. nécessaire] en raison de sa simplicité d'utilisation tout en offrant les fonctions nécessaires à la plupart des projets[3].

GNU Arch Un article de Wikipédia, l'encyclopédie libre. GNU arch est un logiciel de gestion de versions et de gestion de configuration utilisé en développement logiciel. Historique[modifier | modifier le code] Caractéristiques techniques[modifier | modifier le code] Arch présente de nombreux avantages, comparé aux autres systèmes de contrôle de révision. Il travaille sur l'ensemble de l'arborescence[modifier | modifier le code] Arch suit l'ensemble de l'arborescence -- et pas seulement des fichiers individuels. Il est orienté changeset[modifier | modifier le code] Arch ne crée pas uniquement des snapshots des arborescences de vos projets. Intégralement réparti[modifier | modifier le code] Arch ne repose pas sur une « distribution centralisée ». Voir aussi[modifier | modifier le code] Article connexe[modifier | modifier le code] Gestion de version décentralisée Liens externes[modifier | modifier le code] (en) GNU arch sur GNU Savannah.

Bazaar (logiciel) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Bazaar et Bzr. Les développements se focalisent sur la facilité d'utilisation et la flexibilité. Bazaar repose donc sur un jeu de commande très restreint. Il est aussi possible de l'utiliser avec différents schémas de développements (chaque développeur dispose de sa propre branche, les développeurs disposent d'un dépôt commun, …). Bazaar facilite également l'interopérabilité avec d'autres systèmes de gestion de version et dispose de librairies pour lire l'historique des différentes versions d'un projet depuis Subversion, git ou CVS par exemple. Bazaar peut être utilisé en association avec des sites hébergeant le code source tels que Launchpad, Sourceforge, GNU Savannah ou Fedora Hosted[5], afin de permettre la collaboration d'un grand nombre de personnes sur un même projet.

SVK (informatique) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir SVK. C'est un logiciel libre distribué selon les termes de la licence GNU GPL. Source Code Control System Un article de Wikipédia, l'encyclopédie libre. Source Code Control System (SCCS), est un système de gestion de versions. Article connexe[modifier | modifier le code] Liens externes[modifier | modifier le code] SCCS sur Berlios

CPOLD, la poudre verte du suivi de versions Je m'aperçois que quand je cause d'outils de suivi de version, il m'arrive de mentionner, en plus des standards (CVS, Subversion, Bazaar et les autres), le vénérable CPOLD. Et que souvent, mes interlocuteurs ne connaissent pas CPOLD. Et effectivement, ce n'est guère documenté dans la littérature et le web multimédia mondial. Je m'en vais donc vous présenter un peu cette formidable méthodologie de suivi de versions. Pourquoi formidable ? Parce qu'elle ne souffre d'aucun des problèmes récurrents des autres outils : pas de format de fichier complexe et susceptible de corruption ;pas de conflits ;aucun besoin d'un serveur dédié (on peut tout mettre ensemble, prod et dev confondues) ;aucune limitation sur la gestion des branches ;une rapidité insurpassable ;une simplicité de mise en œuvre et d'apprentissage enfantine ;pas de modèle de développement imposé (centralisé, distribué, en quinconce, en hélice, toutes les variantes sont possibles) ;des sauvegardes facilitées ;etc.

Related: