Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Page de référence : {en} QuickHackingWithBzr

Ceci est un très bref tutoriel de 5 minutes, couvrant uniquement ce qu'un utilisateur néophyte a besoin de connaître pour commencer à contribuer à un projet utilisant Bazaar-NG.

Obtenir bzr

Cf. {en} DistroDownloads, c'est probablement déjà dans votre distribution.

Présentation de bzr

Vous aimeriez votre nom et e-mail dans le log de révision.

Créez ~/.bazaar/bazaar.conf avec votre adresse e-mail :

[DEFAULT]
email = Joe Doe <joe.doe@gmail.com>

Maintenant essayez :

$ bzr whoami
Joe Doe <joe.doe@gmail.com>

Créer votre branche personnelle

Vous travaillez sur votre branche personnelle. Après l'avoir créé, vous n'aurez plus besoin d'accès web pour committer les changements :

$ bzr branch http://exemple.com/code/foobar.dev foobar.joe
Branched 1 revision(s).                                                        

Codage

$ cd foobar.joe
$ hack...

Ce que vous avez fait :

$ bzr diff
=== modified file 'foo.c'
--- foo.c
+++ foo.c
@@ -30,6 +30,7 @@
 
 #include "foo.h"
 
+
 static PyObject *
 _pyfribidi_log2vis (PyObject * self, PyObject * args, PyObject * kw)
 {

Il est temps de committer le fruit de votre dur labeur :

$ bzr commit -m 'added some whitespace'
Committed revision 2.

Afficher les logs de révision

$ bzr log
------------------------------------------------------------
revno: 2
committer: Joe Doe <joe.doe@gmail.com>
branch nick: foobar.joe
timestamp: Mon 2006-02-06 01:33:35 +0200
message:
  added some whitespace
------------------------------------------------------------
revno: 1
committer: James Hacker <jmh@exemple.com>
branch nick: foobar.dev
timestamp: Mon 2006-02-06 01:06:11 +0200
message:
  initial revision

Mettre à jour votre branche depuis la branche principale

Pendant que vous travaillez sur votre branche, d'autres peuvent avoir committé du nouveau code sur la branche principale. Vous aimeriez fusionner les changements depuis la branche principal vers votre branche de temps en temps :

$ bzr merge
Using saved location: http://exemple.com/code/foobar.dev
All changes applied successfully.

Qu'est-ce qui a été changé dans la branche principale ?

$ bzr diff
=== modified file 'pyfribidi.c'
--- pyfribidi.c
+++ pyfribidi.c
@@ -236,6 +236,7 @@
        PyMem_Del (logical);
        PyMem_Del (visual);
 
+    /* evil hack! */
        return result;
 }

Committez les changements provenant de la branche principale :

$ bzr commit -m 'merge from main branch'
Committed revision 6.

Publier votre branche

Vous pouvez simplement utiliser rsync pour copier votre branche vers un serveur web, mais utiliser bzr push est la façon la plus facile de faire. Notez que pour utiliser sftp, vous avez besoin d'installer paramiko et pyCrypto. Cf. la page {en} Installation dans le wiki anglophone.

Supposons que vous voulez publier votre branche dans jod.exemple.com/foobar.joe :

$ bzr push sftp://jod@jod.exemple.com/public_html/foobar.joe/
2 revision(s) pushed.

Maintenant quiconque peut récupérer votre branche avec (essayez vous-même) :

bzr get http://jod.exemple.com/foobar.joe/

En apprendre plus

Pour en apprendre au sujet des sous-commandes de bzr :

$ bzr help commands

Pour en apprendre au sujet de la sous-commande toto :

$ bzr help toto

Autres ressources: