Projet

Général

Profil

Wiki » Historique » Version 2

Version 1 (Daniel Dehennin, 03/11/2011 15:23) → Version 2/4 (Daniel Dehennin, 03/11/2011 16:43)

h1. Suivi du de la version bzr

L’idée est d’utiliser @git@ tout en suivant les modifications d’Ubuntu.

Pour ce faire nous créerons une branche spécifique qui sera un miroir des développements Ubuntu.

Nous finirons avec les branches suivantes :

* bzr/ubuntu: Branche de synchronisation utilisée par "git-bzr":http://github.com/termie/git-bzr-ng, ne doit jamais être modifiée autrement que par l’outil ;
* ubuntu: Branche de synchronisation utilisée par "git-bzr":http://github.com/termie/git-bzr-ng, ne doit jamais être modifiée autrement que par l’outil ;
* master: Branche de
développement upstream EOLE.

*Règle №1*: Il ne faut jamais modifier la branche @bzr/ubuntu@, ni placer
dans cette branche.

La branche @bzr/ubuntu@ est mise à jours par les commandes *git
bzr sync bzr/ubuntu* et *git bzr pull bzr/ubuntu* mais l’espace de travail n’est pas mis à jour si la branche courante est @bzr/ubuntu@ lorsque ces commandes sont invoquées.

Voir Dans ce cas il faut forcer la documentation "bzr mise à jour de l’espace de travail:

<pre>
moi@work:~/src/cdimage(bzr/ubuntu):$ git reset --hard HEAD
</pre>

Il est possible d’invoquer *git bzr sync bzr/ubuntu*
depuis git":http://dev-eole.ac-dijon.fr/projects/eole/wiki/Bzr_depuis_git. n’importe quelle branche, seule la branche @bzr/ubuntu@ sera modifiée, il est ensuite possible de fusionner les modifications dans d’autres branches :

<pre>

moi@work:~/src/cdimage(moi/test/bzr):$ git bzr sync bzr/ubuntu
15:09:08 Calculating the revisions to include ...
15:09:08 Starting export of 960 revisions ...
15:09:08 Exported 960 revisions in 0:00:00
moi@work:~/src/cdimage(moi/test/bzr):$
moi@work:~/src/cdimage(moi/test/bzr):$ git merge bzr/ubuntu
Updating 5aa84e2..ba4f520
[...]
</pre>

La commande *git bzr pull bzr/ubuntu* n’a d’utilitée que dans la branche @ubuntu@, elle est équivalente à :

1. *git bzr pull bzr/ubuntu*
2. *git merge bzr/ubuntu*

En dehors de la branche @ubuntu@, elle n’exécute que la première partie.

h2. Plugin git-bzr

Un plugin est nécessaire afin de suivre le dépôt bzr: "bzr-git-ng":http://github.com/termie/git-bzr-ng.

L’exécutable @git-bzr@ doit se trouver dans le PATH, un répertoir ~/bin est ajouté à celui-ci, il contiendra un lien vers l’exécutable qui pourra ainsi facilement être mis à jour:

<pre>
moi@work:~$ mkdir bin src
moi@work:~$ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
moi@work:~$ cd src && git clone git://github.com/termie/git-bzr-ng.git
moi@work:~$ cd ~/bin && ln -s ~/src/git-bzr-ng/git-bzr
</pre>

h2. Mise en place du suivi des modifications upstream

Si vous souhaitez suivre directement la version upstream maintenue dans un dépôt bzr, il faut effectuer les actions suivantes:

h3. Clone du dépôt EOLE

<pre>
moi@work:~/src/$ git clone http://dev-eole.ac-dijon.fr/git/cdimage
Cloning into cdimage...
moi@work:~/src/$ cd cdimage && git checkout -b moi/test/bzr
</pre>

h3. Importer le dépôt bzr upstream dans une branche git spécifique:

Le nom de la branche ne doit pas entrer en confilt avec une branche locale, j’ai choisi @ubuntu@ pour visualiser qu’il s’agit de la version Ubuntu de l’outil :

<pre>
moi@work:~/src/cdimage(moi/test/bzr)$ git bzr import http://people.canonical.com/~cjwatson/bzr/cdimage/mainline ubuntu
Branched 867 revision(s).hing revisions:Finishing stream:Done 9846/98469846
14:29:38 Calculating the revisions to include ...
14:29:38 Starting export of 956 revisions ...
14:29:43 Exported 956 revisions in 0:00:04
</pre>

<pre>
moi@work:~/src/cdimage(moi/test/bzr)$ git branch
bzr/ubuntu
master
* moi/test/bzr
ubuntu
</pre>

h2. Mettre à jour le suivi du dépôt upstream

<pre>
moi@work:~/src/cdimage(moi/test/bzr)$ git bzr sync bzr/ubuntu
http://people.canonical.com/~cjwatson/bzr/cdimage/mainline is permanently redirected to http://people.canonical.com/~cjwatson/bzr/cdimage/mainline/
14:31:51 Calculating the revisions to include ...
14:31:51 Starting export of 956 revisions ...
14:31:51 Exported 956 revisions in 0:00:00
</pre>

h2. Intégrer les modifications upstream à une branche locale

<pre>
moi@work:~/src/cdimage(moi/test/bzr)$ git merge bzr/ubuntu
Updating 5aa84e2..ba4f520
[...]
</pre>

h2. Paramètre de configuration spécifique à git-bzr

<pre>
moi@work:~/src/cdimage(moi/test/bzr)$ git config -l
[...]
bzr.ubuntu.bzr=bzr/ubuntu
bzr.bzr/ubuntu.upstream=http://people.canonical.com/~cjwatson/bzr/cdimage/mainline
</pre>