Wiki » Historique » Version 1
Daniel Dehennin, 03/11/2011 15:23
Suivi de dépôt bzr depuis git
| 1 | 1 | Daniel Dehennin | h1. Suivi de la version bzr |
|---|---|---|---|
| 2 | 1 | Daniel Dehennin | |
| 3 | 1 | Daniel Dehennin | L’idée est d’utiliser @git@ tout en suivant les modifications d’Ubuntu. |
| 4 | 1 | Daniel Dehennin | |
| 5 | 1 | Daniel Dehennin | Pour ce faire nous créerons une branche spécifique qui sera un miroir des développements Ubuntu. |
| 6 | 1 | Daniel Dehennin | |
| 7 | 1 | Daniel Dehennin | Nous finirons avec les branches suivantes : |
| 8 | 1 | Daniel Dehennin | |
| 9 | 1 | Daniel Dehennin | * 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 ; |
| 10 | 1 | Daniel Dehennin | * 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 ; |
| 11 | 1 | Daniel Dehennin | * master: Branche de développement EOLE. |
| 12 | 1 | Daniel Dehennin | |
| 13 | 1 | Daniel Dehennin | *Règle №1*: Il ne faut jamais modifier la branche @bzr/ubuntu@, ni placer dans cette branche. |
| 14 | 1 | Daniel Dehennin | |
| 15 | 1 | Daniel Dehennin | 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. |
| 16 | 1 | Daniel Dehennin | |
| 17 | 1 | Daniel Dehennin | Dans ce cas il faut forcer la mise à jour de l’espace de travail: |
| 18 | 1 | Daniel Dehennin | |
| 19 | 1 | Daniel Dehennin | <pre> |
| 20 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(bzr/ubuntu):$ git reset --hard HEAD |
| 21 | 1 | Daniel Dehennin | </pre> |
| 22 | 1 | Daniel Dehennin | |
| 23 | 1 | Daniel Dehennin | Il est possible d’invoquer *git bzr sync bzr/ubuntu* depuis n’importe quelle branche, seule la branche @bzr/ubuntu@ sera modifiée, il est ensuite possible de fusionner les modifications dans d’autres branches : |
| 24 | 1 | Daniel Dehennin | |
| 25 | 1 | Daniel Dehennin | <pre> |
| 26 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr):$ git bzr sync bzr/ubuntu |
| 27 | 1 | Daniel Dehennin | 15:09:08 Calculating the revisions to include ... |
| 28 | 1 | Daniel Dehennin | 15:09:08 Starting export of 960 revisions ... |
| 29 | 1 | Daniel Dehennin | 15:09:08 Exported 960 revisions in 0:00:00 |
| 30 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr):$ |
| 31 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr):$ git merge bzr/ubuntu |
| 32 | 1 | Daniel Dehennin | Updating 5aa84e2..ba4f520 |
| 33 | 1 | Daniel Dehennin | [...] |
| 34 | 1 | Daniel Dehennin | </pre> |
| 35 | 1 | Daniel Dehennin | |
| 36 | 1 | Daniel Dehennin | La commande *git bzr pull bzr/ubuntu* n’a d’utilitée que dans la branche @ubuntu@, elle est équivalente à : |
| 37 | 1 | Daniel Dehennin | |
| 38 | 1 | Daniel Dehennin | 1. *git bzr pull bzr/ubuntu* |
| 39 | 1 | Daniel Dehennin | 2. *git merge bzr/ubuntu* |
| 40 | 1 | Daniel Dehennin | |
| 41 | 1 | Daniel Dehennin | En dehors de la branche @ubuntu@, elle n’exécute que la première partie. |
| 42 | 1 | Daniel Dehennin | |
| 43 | 1 | Daniel Dehennin | h2. Plugin git-bzr |
| 44 | 1 | Daniel Dehennin | |
| 45 | 1 | Daniel Dehennin | Un plugin est nécessaire afin de suivre le dépôt bzr: "bzr-git-ng":http://github.com/termie/git-bzr-ng. |
| 46 | 1 | Daniel Dehennin | |
| 47 | 1 | Daniel Dehennin | 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: |
| 48 | 1 | Daniel Dehennin | |
| 49 | 1 | Daniel Dehennin | <pre> |
| 50 | 1 | Daniel Dehennin | moi@work:~$ mkdir bin src |
| 51 | 1 | Daniel Dehennin | moi@work:~$ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc |
| 52 | 1 | Daniel Dehennin | moi@work:~$ cd src && git clone git://github.com/termie/git-bzr-ng.git |
| 53 | 1 | Daniel Dehennin | moi@work:~$ cd ~/bin && ln -s ~/src/git-bzr-ng/git-bzr |
| 54 | 1 | Daniel Dehennin | </pre> |
| 55 | 1 | Daniel Dehennin | |
| 56 | 1 | Daniel Dehennin | h2. Mise en place du suivi des modifications upstream |
| 57 | 1 | Daniel Dehennin | |
| 58 | 1 | Daniel Dehennin | Si vous souhaitez suivre directement la version upstream maintenue dans un dépôt bzr, il faut effectuer les actions suivantes: |
| 59 | 1 | Daniel Dehennin | |
| 60 | 1 | Daniel Dehennin | h3. Clone du dépôt EOLE |
| 61 | 1 | Daniel Dehennin | |
| 62 | 1 | Daniel Dehennin | <pre> |
| 63 | 1 | Daniel Dehennin | moi@work:~/src/$ git clone http://dev-eole.ac-dijon.fr/git/cdimage |
| 64 | 1 | Daniel Dehennin | Cloning into cdimage... |
| 65 | 1 | Daniel Dehennin | moi@work:~/src/$ cd cdimage && git checkout -b moi/test/bzr |
| 66 | 1 | Daniel Dehennin | </pre> |
| 67 | 1 | Daniel Dehennin | |
| 68 | 1 | Daniel Dehennin | h3. Importer le dépôt bzr upstream dans une branche git spécifique: |
| 69 | 1 | Daniel Dehennin | |
| 70 | 1 | Daniel Dehennin | 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 : |
| 71 | 1 | Daniel Dehennin | |
| 72 | 1 | Daniel Dehennin | <pre> |
| 73 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr)$ git bzr import http://people.canonical.com/~cjwatson/bzr/cdimage/mainline ubuntu |
| 74 | 1 | Daniel Dehennin | Branched 867 revision(s).hing revisions:Finishing stream:Done 9846/98469846 |
| 75 | 1 | Daniel Dehennin | 14:29:38 Calculating the revisions to include ... |
| 76 | 1 | Daniel Dehennin | 14:29:38 Starting export of 956 revisions ... |
| 77 | 1 | Daniel Dehennin | 14:29:43 Exported 956 revisions in 0:00:04 |
| 78 | 1 | Daniel Dehennin | </pre> |
| 79 | 1 | Daniel Dehennin | |
| 80 | 1 | Daniel Dehennin | <pre> |
| 81 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr)$ git branch |
| 82 | 1 | Daniel Dehennin | bzr/ubuntu |
| 83 | 1 | Daniel Dehennin | master |
| 84 | 1 | Daniel Dehennin | * moi/test/bzr |
| 85 | 1 | Daniel Dehennin | ubuntu |
| 86 | 1 | Daniel Dehennin | </pre> |
| 87 | 1 | Daniel Dehennin | |
| 88 | 1 | Daniel Dehennin | h2. Mettre à jour le suivi du dépôt upstream |
| 89 | 1 | Daniel Dehennin | |
| 90 | 1 | Daniel Dehennin | <pre> |
| 91 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr)$ git bzr sync bzr/ubuntu |
| 92 | 1 | Daniel Dehennin | http://people.canonical.com/~cjwatson/bzr/cdimage/mainline is permanently redirected to http://people.canonical.com/~cjwatson/bzr/cdimage/mainline/ |
| 93 | 1 | Daniel Dehennin | 14:31:51 Calculating the revisions to include ... |
| 94 | 1 | Daniel Dehennin | 14:31:51 Starting export of 956 revisions ... |
| 95 | 1 | Daniel Dehennin | 14:31:51 Exported 956 revisions in 0:00:00 |
| 96 | 1 | Daniel Dehennin | </pre> |
| 97 | 1 | Daniel Dehennin | |
| 98 | 1 | Daniel Dehennin | h2. Intégrer les modifications upstream à une branche locale |
| 99 | 1 | Daniel Dehennin | |
| 100 | 1 | Daniel Dehennin | <pre> |
| 101 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr)$ git merge bzr/ubuntu |
| 102 | 1 | Daniel Dehennin | Updating 5aa84e2..ba4f520 |
| 103 | 1 | Daniel Dehennin | [...] |
| 104 | 1 | Daniel Dehennin | </pre> |
| 105 | 1 | Daniel Dehennin | |
| 106 | 1 | Daniel Dehennin | h2. Paramètre de configuration spécifique à git-bzr |
| 107 | 1 | Daniel Dehennin | |
| 108 | 1 | Daniel Dehennin | <pre> |
| 109 | 1 | Daniel Dehennin | moi@work:~/src/cdimage(moi/test/bzr)$ git config -l |
| 110 | 1 | Daniel Dehennin | [...] |
| 111 | 1 | Daniel Dehennin | bzr.ubuntu.bzr=bzr/ubuntu |
| 112 | 1 | Daniel Dehennin | bzr.bzr/ubuntu.upstream=http://people.canonical.com/~cjwatson/bzr/cdimage/mainline |
| 113 | 1 | Daniel Dehennin | </pre> |