]> git.llucax.com Git - personal/documentos.git/blob - charla_scm/ejemplos/darcs/3-loco.html
El patilludo y su frase célebre sobre la estratósfera.
[personal/documentos.git] / charla_scm / ejemplos / darcs / 3-loco.html
1 <html>
2 <head>
3 <title>darcs :: Ejemplo 3</title>
4 <link rel="stylesheet" type="text/css" href="../style.css">
5 </head>
6 <body>
7
8 <h2>Ejemplo 3 - Chocamos</h2>
9
10 Si bien si somos ordenados al trabajar no deberia darse comunmente, los
11 conflictos entre merges son un tema muy importante porque si no son manejados
12 correctamente pueden acarrear serios problemas en el repositorio.<br>
13 Veamos como generar uno simple, y como corregirlo.<p>
14
15 Vamos a arrancar con un repositorio base del cual hacemos get para obtener dos
16 repositorios independientes, en los cuales realizamos cambios de forma
17 aislada.<br>
18
19 <pre>
20 <tt class=nota>Partimos de una base comun; mostramos los cambios</tt>
21 # cd base
22 # darcs chan
23 Wed May 18 02:57:06 ART 2005  Base &lt;base@ej.com.ar&gt;
24   * Agregamos el archivo inicial.
25 <tt class=nota>Mostramos un poco del archivo "cancion"</tt>
26 # cat cancion
27 Tú surgías desde el Cono Sur
28 y venías desde antes,
29 con el amor al mundo bien adentro.
30 Fuk unx kstrkllx quk tk puso xquí
31 y tk hizo dk kstk pukblo.
32 Dk grxtitud nxcikron muchos hombrks
33 quk iguxl quk tú,
34 no qukríxn quk tk fukrxs
35 y son otros desde entonces.
36 [...]
37 # cd ..
38 #
39 <tt class=nota>Hacemos un get de base, creando un nuevo repo A</tt>
40 # darcs get base A
41 Copying patch 1 of 1... done!
42 Finished getting.
43 #
44 <tt class=nota>Y ahora creamos B</tt>
45 # darcs get base B
46 Copying patch 1 of 1... done!
47 Finished getting.
48 #
49 </pre>
50
51 <pre>
52 <tt class=nota>Tenemos tres repos iguales, vamos a hacer un cambio en A y a
53 arreglar un poco el archivo de arriba.</tt>
54 # cd A
55 # vi cancion
56 <tt class=nota>Uno de los problemas con el archivo es que algunas 'a's estan
57 cambiadas por 'x's, editamos para arreglar eso; y luego hacemos un record</tt>
58 # darcs record
59 [...]
60 # darcs changes --last=1
61 Wed May 18 03:01:42 ART 2005  Fulano A &lt;a@fulano.com.ar&gt;
62   * Arreglar la letra A.
63 # cd ..
64 #
65 <tt class=nota>Vamos ahora a hacer un cambio en B.</tt>
66 # cd B
67 # vi cancion
68 <tt class=nota>Como antes, arreglamos "cancion", cambiando 'k's por 'e's</tt>
69 # darcs record
70 [...]
71 # darcs changes --last=1
72 Wed May 18 03:08:00 ART 2005  Fulano B &lt;b@fulano.com.ar&gt;
73   * Arreglar la letra E.
74 # cd ..
75 #
76 </pre>
77
78 Miremos un poco como estan los archivos hasta ahora.<br>
79
80 <pre>
81 <tt class=nota>El archivo base</tt>
82 # cat base/cancion
83 Tú surgías desde el Cono Sur
84 y venías desde antes,
85 con el amor al mundo bien adentro.
86 Fuk unx kstrkllx quk tk puso xquí
87 y tk hizo dk kstk pukblo.
88 Dk grxtitud nxcikron muchos hombrks
89 quk iguxl quk tú,
90 no qukríxn quk tk fukrxs
91 y son otros desde entonces.
92 [...]
93 #
94 <tt class=nota>El archivo del repositorio A</tt>
95 # cat A/cancion
96 Tú surgías desde el Cono Sur
97 y venías desde antes,
98 con el amor al mundo bien adentro.
99 Fuk una kstrklla quk tk puso aquí
100 y tk hizo dk kstk pukblo.
101 Dk gratitud nacikron muchos hombrks
102 quk igual quk tú,
103 no qukrían quk tk fukras
104 y son otros desde entonces.
105 [...]
106 #
107 <tt class=nota>El archivo del repositorio B</tt>
108 # cat B/cancion
109 Tú surgías desde el Cono Sur
110 y venías desde antes,
111 con el amor al mundo bien adentro.
112 Fue unx estrellx que te puso xquí
113 y te hizo de este pueblo.
114 De grxtitud nxcieron muchos hombres
115 que iguxl que tú,
116 no queríxn que te fuerxs
117 y son otros desde entonces.
118 [...]
119 #
120 </pre>
121
122 Vamos a tratar de incorporar los cambios de B en A.
123
124 <pre>
125 # cd A
126 # darcs pull ../B
127 Wed May 18 03:08:00 ART 2005  Fulano B &lt;b@fulano.com.ar&gt;
128   * Arreglar la letra E.
129 Shall I pull this patch? (1/1) [ynWvxqadjk], or ? for help: y
130 We have conflicts in the following files:
131 ./cancion
132 Finished pulling and applying.
133 #
134 </pre>
135
136 Como vemos, nos dijo que habia conflictos en el archivo. Esto es esperable,
137 dado que darcs solo no puede resolver los cambios pues afectan a las mismas
138 lineas de los archivos, y no hay una forma en la que pueda aplicar los cambios
139 sin garantizar que no se generan problemas.<p>
140 Por eso nos avisa, para que nosotros "conciliemos" los dos cambios y dejemos
141 una version valida. Entonces vemos que hay en el archivo con conflictos, y lo
142 editamos para dejar una version definitiva.<br>
143
144 <pre>
145 # cat cancion
146 Tú surgías desde el Cono Sur
147 y venías desde antes,
148 con el amor al mundo bien adentro.
149 v v v v v v v
150 Fue unx estrellx que te puso xquí
151 y te hizo de este pueblo.
152 De grxtitud nxcieron muchos hombres
153 que iguxl que tú,
154 no queríxn que te fuerxs
155 *************
156 Fuk una kstrklla quk tk puso aquí
157 y tk hizo dk kstk pukblo.
158 Dk gratitud nacikron muchos hombrks
159 quk igual quk tú,
160 no qukrían quk tk fukras
161 ^ ^ ^ ^ ^ ^ ^
162 y son otros desde entonces.
163 [...]
164 #
165 <tt class=nota>Nos encierra entre "v v v v" y "^ ^ ^ ^" las dos "versiones",
166 una de cada cambio, y espera que nosotros dejemos una definitiva, para lo cual
167 editamos. En este caso tenemos que hacer varios reemplazos a mano para que
168 quede una version completa.</tt>
169 # vi cancion
170 # cat cancion
171 Tú surgías desde el Cono Sur
172 y venías desde antes,
173 con el amor al mundo bien adentro.
174 Fue una estrella que te puso aquí
175 y te hizo de este pueblo.
176 De gratitud nacieron muchos hombres
177 que igual que tú,
178 no querían que te fueras
179 y son otros desde entonces.
180 [...]
181 #
182 <tt class=nota>Entonces hacemos un record, para grabar este patch
183 "conciliador"</tt>
184 # darcs record
185 [...]
186 #
187 <tt class=nota>Vemos todo el historial de cambios</tt>
188 # darcs changes
189 Wed May 18 03:21:22 ART 2005  Fulano A &lt;a@fulano.com.ar&gt;
190   * Conciliamos el conflicto.
191
192 Wed May 18 03:08:00 ART 2005  Fulano B &lt;b@fulano.com.ar&gt;
193   * Arreglar la letra E.
194
195 Wed May 18 03:01:42 ART 2005  Fulano A &lt;a@fulano.com.ar&gt;
196   * Arreglar la letra A.
197
198 Wed May 18 02:57:06 ART 2005  Base &lt;base@ej.com.ar&gt;
199   * Agregamos el archivo inicial.
200 #
201 </pre>
202
203 </body>
204 </html>
205