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> |