Hotfix Release available. [36.1] (what's this?)
 

'BZR' (Bazaar VCS)

Introduction

Bazaar VCS (http://www.bazaar-vcs.org) est une alternative à CVS qui a l'avantage d'exister pour maemo (l'O.S. du NOKIA N810). Il est programmé en python et existe pour maemo donc, Linux, Windows (notamment en tant que paquet Cygwin) et accessoirement pour MAC.

bzr (contrairement à cvs) fonctionne en mode décentralisé, bien qu'il existe un mode centralisé (que je compte utiliser).

A noter que tous répertoire gèré par bzr contient un sous-répertoire nommé .bzr.

Installation

Sous 'cygwin'

En plus de bzr, installer les packages python-paramiko et python-crypto pour que bzr puisse fonctionner dans le cadre décrit dans cette page (utilisation du protocole sftp).

Si, en tentant d'utiliser ssh+ftp://… (ou sftp://…), vous obtenez l'erreur

bzr: ERROR: [Errno 0] Error

voir https://bugs.launchpad.net/bzr/+bug/181855. A titre indicatif, et sous réserve de changements, il faut remplacer la ligne 120 dans le fichier …/lib/python2.5/site-packages/Crypto/Util/randpool.ly :

if num!=2: raise IOError, (num, msg)

par :

if num!=2 and num!=0 : raise IOError, (num, msg)

Faire attention à respecter la tabulation d'origine, car je crois qu'elles font partie du langage python (elles ne sont pas ignorées comme dans d'autres langages).

Sous Linux (Debian)

Installer le paquet bzr. Cela installe différents paquets nécessités par bzr, mais la version présente dans Debian etch de bzr lui-même est trop ancienne pour l'usage que je veux en faire. Aussi, j'ai installé la version téléchargeable à http://backports.org/debian/pool/main/b/bzr/. (dpkg –install …).

En ce qui concerne le protocole sftp, l'installation de ssh suffit, il n'est pas nécessaire d'installer un paquet dédié à sftp (la documentation est ambigüe à ce sujet).

Sous 'maemo' (NOKIA N810)

Téléchargement avec le navigateur WEB (qui lancera l'installation) du bon paquet à l'adresse http://bazaar-vcs.org/Download.

Mise en oeuvre et principales commandes

Bien qu'il semble exister plusieurs interfaces graphiques, je préfère utiliser la version en ligne de commande, à travers la commmnde bzr. En outre, bzr sera utilisé en mode centralisé.

Identification

On peut s'identifier auprès de bzr par la commande suivante :

$ bzr whoami "John Doe <john.doe@gmail.com>"

Pour savoir quelle est notre identification, utiliser :

$ bzr whoami

Préparation au niveau du client

Dans le répertoire destiné à receuillir le repository :

bzr init

Création du 'repository' centralisé sur le serveur

Lancer, sur le serveur ou sur un client, la commande suivante :

bzr init-repo --no-trees bzr+ssh://user@server/directory/

puis, à partir d'un client :

bzr push bzr+ssh://user@server/directory/

Rattachement d'un client au serveur.

Sur le client, à partir du répertoire destiné à accueillir localement le repository :

bzr bind bzr+ssh://user@server/directory/

Ajout de fichiers au repository.

Pour ajouter tous les fichiers d'un répertoire et ses sous-répertoires, lancer :

bzr add

Pour ajouter spécifiquement certains fichier, faire suivre cette commande par la liste des fichiers.

Validation des modifications.

Pour valider les modifications et les répercuter au niveau du serveur, lancer à partir du client :

bzr commit

Synchronisation avec le 'repository' du serveur.

Pour synchroniser le repository d'un client avec celui du serveur, lancer à partir du client :

bzr update
computing/bzr.txt · Dernière modification: 2009/08/09 10:55 par 192.168.5.10
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki