CransWiki:

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

{i} 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

{i} Remarque

nom_archive/ est optionnel si l'on a sélectionné cette archive par défaut.

{i} 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.


CransWiki: WikiInformatique/Bazaar (dernière édition le 2014-07-08 15:53:37 par ZeldAurore)