Parmis les outils de versionnement, il existe Bazaar. Contrairement à [wiki:CransNounous/ConcurrentVersionsSystem CVS], il s'agit d'un système distribué. [[TableOfContents]] = Installation = Sous une distribution Debian (ou Ubuntu), utiliser simplement : {{{ sudo aptitude install bazaar }}} et vérifier que la commande {{{ baz }}} fonctionne. || /!\ '''Version''' ||<#FFFFA0> Si ça ne marche pas, il faut regarder si {{{ bzr }}} fonctionne. Si c'est le cas, il ne s'agit pas de la version de bazaar traitée ici ! || La première chose a faire est ensuite de décliner son identité : {{{ baz my-id "Nom " }}} = Mise en place d'une archive et d'un projet = == Création d'un "repository" (à ne faire qu'une fois) == Tout d'abord, il est souhaitable de créer un répertoire pour contenir les archives locales (équivalent du repository de CVS) : {{{ mkdir ~/{archives} }}} Cependant, contrairement à CVS, il n'est pas obligatoire de stocker toutes ses archives dans le même répertoire. == Gérer une archive == === Création d'une nouvelle archive === Taper : {{{ baz make-archive nom_archive ~/{archives}/nom_archive }}} || /!\ '''Nomenclature''' ||<#FFFFA0> {{{nom_archive}}} doit être de la forme {{{adresse@email.fr--nom}}}, ou bien {{{adresse@email.fr--année-nom}}}. Par exemple : bazaar@arch.org--2006-toto || || {i} '''Astuce''' ||<#FFFFA0> Pour sélectionner une archive par défaut dans les commandes qui suivent : {{{baz my-default-archive nom_archive}}} || === Création d'un miroir pour son archive === Miroir ftp : {{{ baz make-archive -l -m nom_archive ftp://user@ftp.serveur.org/emplacement/du/mirroir/nom_archive }}} Cela fait un miroir de toute l'archive, avec tous les projets qu'elle contient. On peut aussi utiliser ssh en remplaçant {{{ftp://}}} par {{{sftp://}}} (mais il faut alors indiquer le chemin complet). Et pour exporter les changements : {{{ baz archive-mirror }}} === Importer une archive existante === == Gérer un projet == === Création d'un nouveau projet === Aller dans le répertoire de travail de son projet : {{{ cd /chemin/vers/mon/projet/ }}} Et faire : {{{ baz init-tree nom_archive/nom_projet--mainline--1.0 }}} || {i} '''Remarque''' ||<#FFFFA0> {{{nom_archive/}}} est optionnel si l'on a séléctionné cette archive par défaut. || || {i} '''Remarque''' ||<#FFFFA0> Il n'y a pas de restriction particulière sur {{{nom_projet}}} (à part ne pas mettre de "--") || La commande {{{ baz lint }}} permet de lister les fichiers du répertoire de travail qui ne font pas parti du projet (au départ, aucun des fichiers n'y appartient). Elle permet aussi de s'assurer que l'on n'a pas loupé une étape. Pour ajouter des fichiers au projet initial, il suffit de faire {{{ baz add nom_fichier }}}. Quand on a fini d'ajouter des fichiers au projet, il suffit de taper {{{ baz import }}} pour créer la première mouture du projet (base). Il faut maintenant utiliser la commande {{{ baz commit }}} pour notifier les changements au repository. === Manipuler un projet via le répertoire de travail === La commande {{{ baz commit }}} sert à faire part des changements des fichiers du répertoire de travail au repository. La commande {{{ baz add nom_fichier }}} sert à ajouter un fichier au projet (il faut ensuite commiter). = Commandes les plus courantes = {{{ // Les plus courantes baz commit // notifie les changements au repository local baz add // ajoute un fichier au projet (ne pas oublier de commiter après) baz lint // dit quels fichiers du repertoire courant n'appartiennent pas au projet baz archive-miror // pour mettre à jour son miroir // Moins courant : baz my-id // décliner son identité baz make-archive // créer une nouvelle archive, ou bien un miroir seon les options baz import // créer un nouveau projet. }}}