Parmi les outils de versionnement, il existe Bazaar. Contrairement à CVS, il s'agit d'un système distribué. C'est une implémentation de GNU Arch, qui se veut une évolution de tla.
Installation
Sous une distribution Debian (ou Ubuntu), utiliser simplement :
sudo aptitude install bazaar
et vérifier que la commande baz fonctionne.
Version |
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 <adresse@email.fr>"
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.
Bazaar stocke ses données privées (équivalent du répertoire $CVSROOT/CVSROOT de CVS) dans le répertoire ~/.arch-params, notamment l'identité et les noms et emplacements des archives enregistrées.
Gérer une archive
Création d'une nouvelle archive
Taper :
baz make-archive nom_archive ~/{archives}/nom_archive
Nomenclature |
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 |
Astuce |
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. En fait, l'adresse du mirroir n'est pas obligée de se terminer par le nom de l'archive (ça peut être un nom arbitraire). 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
L'intérêt de faire un miroir de son archive, c'est que tout le monde puisse y accéder et travailler dessus... Par exemple, MumuDvb est développé en utilisant Bazaar. Pour pouvoir utiliser l'archive de MumuDvb localement, il faut exécuter :
baz register-archive ftp://arch.crans.org/tla/dubost/miroir/
Le nom de l'archive est dubost@crans.ens-cachan.fr--2005-braice. Pour voir le contenu de l'archive, on peut faire :
baz abrowse dubost@crans.ens-cachan.fr--2005-braice
La complétion sous zsh est très utile ici ! Cela retourne quelquechose de la forme :
dubost@crans.ens-cachan.fr--2005-braice mumudvb mumudvb--mainline mumudvb--mainline--1.0 base-0 .. patch-19 mumudvb--mainline--1.2 base-0 .. patch-14
On peut aussi utiliser une interface web comme ArchZoom : http://arch.crans.org.
Récupérer le contenu d'une archive
Une fois qu'une archive est enregistrée, on peut récupérer un projet qui s'y trouve, par exemple :
baz get dubost@crans.ens-cachan.fr--2005-braice/mumudvb--mainline mumudvb
Cela mettra la dernière version des sources de MumuDvb dans le répertoire mumudvb.
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
Remarque |
nom_archive/ est optionnel si l'on a sélectionné cette archive par défaut. |
Remarque |
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 lint # dit quels fichiers du répertoire courant n'appartiennent pas au projet baz commit # notifie les changements au repository local baz archive-miror # pour mettre à jour son miroir baz abrowse # affiche un résumé du contenu d'une archive baz log # Affiche un résumé de l'historique du projet baz get # récupérer le contenu d'une archive baz add # ajoute un fichier au projet (ne pas oublier de commiter après) baz mv # Déplacer/renommer un fichier d'un projet baz rm # Supprimer un fichier d'un projet # Moins courant : baz my-id # décliner son identité baz make-archive # créer une nouvelle archive, ou bien un miroir selon les options baz import # créer un nouveau projet.
- expliquer ce qu'est un système distribué
installation de ArchZoom
- utilisation des branches