3405.2.4
by Martin Albisetti
Added mini-tutorial in spanish by Lucio Albenga |
1 |
======================= |
2 |
Bazaar en cinco minutos |
|
3 |
======================= |
|
4 |
||
5 |
.. contents:: Contenidos |
|
6 |
||
7 |
Introducción |
|
8 |
============ |
|
9 |
||
10 |
Bazaar es un sistema de control de versiones distribuido que facilita que |
|
11 |
varias personas puedan trabajar de forma conjunta en proyectos de software. |
|
12 |
||
13 |
A lo largo de los próximos cinco minutos, aprenderá cómo poner sus archivos |
|
14 |
bajo control de versiones, como registrar cambios en ellos, examinar su |
|
15 |
trabajo, publicarlo y enviar su trabajo para que sea integrado en el trunk de |
|
16 |
un proyecto. |
|
17 |
||
18 |
Si prefiere una introducción más detallada, eche un vistazo a |
|
19 |
`Aprendiendo Más`_. |
|
20 |
||
21 |
||
22 |
Instalación |
|
23 |
=========== |
|
24 |
||
25 |
Esta guía no describe cómo instalar Bazaar pero normalmente es muy |
|
26 |
sencillo. Puede encontrar intrucciones de instalación en: |
|
27 |
||
28 |
- **GNU/Linux:** Bazaar, probablemente, ya esté en su distribución GNU/Linux. |
|
29 |
- **Windows:** `instrucciones de instalación para Windows`_. |
|
30 |
- **Mac OS X:** `instrucciones de instalación para Mac OS X`_. |
|
31 |
||
32 |
Para otras plataformas y para instalar desde el código fuente, vea las |
|
33 |
páginas de Descarga_ e Instalación_. |
|
34 |
||
35 |
.. _instrucciones de instalación para Windows: http://bazaar-vcs.org/WindowsDownloads |
|
36 |
.. _instrucciones de instalación para Mac OS X: http://bazaar-vcs.org/MacOSXBundle |
|
37 |
.. _Descarga: http://bazaar-vcs.org/Download |
|
38 |
.. _Instalación: http://bazaar-vcs.org/InstallationFaq |
|
39 |
||
40 |
||
41 |
Preséntese |
|
42 |
========== |
|
43 |
||
44 |
Antes de empezar a trabajar, es conveniente que le diga a Bazaar quién es |
|
45 |
usted. De ese modo su trabajo será identificando correctamente en los logs |
|
46 |
de revisión. |
|
47 |
||
48 |
Utilice su nombre y dirección de email en lugar de John Doe, teclee:: |
|
49 |
||
50 |
$ bzr whoami "John Doe <john.doe@gmail.com>" |
|
51 |
||
52 |
Bazaar creará o modificará ahora un archivo de configuración, incluyendo su |
|
53 |
nombre y dirección de email. |
|
54 |
||
55 |
Ahora compruebe que su nombre y dirección de email se han registrado correctamente:: |
|
56 |
||
57 |
$ bzr whoami |
|
58 |
John Doe <john.doe@gmail.com> |
|
59 |
||
60 |
||
61 |
Ponga archivos bajo control de versiones |
|
62 |
======================================== |
|
63 |
||
64 |
Vamos a crear un directorio y algunos archivos para utilizar con Bazaar:: |
|
65 |
||
66 |
$ mkdir miproyecto |
|
67 |
$ cd miproyecto |
|
68 |
$ mkdir subdirectorio |
|
69 |
$ touch test1.txt test2.txt test3.txt subdirectorio/test4.txt |
|
70 |
||
71 |
**Nota para usuarios de Windows:** utilice Windows Explorer para crear sus |
|
72 |
directorios, luego haga click derecho en dichos directorios y seleccione |
|
73 |
``Nuevo archivo`` para crear sus archivos. |
|
74 |
||
75 |
Ahora vamos a hacer que Bazaar se inicialize en el directorio de su proyecto:: |
|
76 |
||
77 |
$ bzr init |
|
78 |
||
79 |
Si parece que no ha ocurrido nada no se preocupe. Bazaar ha creado un |
|
80 |
branch_ dónde guardará sus archivos y su histórico de revisiones. |
|
81 |
||
82 |
.. _branch: http://bazaar-vcs.org/Branch |
|
83 |
||
84 |
El siguiente paso es decirle a Bazaar a que archivos desea seguirles la pista. |
|
85 |
Ejecutando ``bzr add`` agregará recursivamente todos los elementos dentro del |
|
86 |
proyecto:: |
|
87 |
||
88 |
$ bzr add |
|
89 |
added subdirectorio |
|
90 |
added test1.txt |
|
91 |
added test2.txt |
|
92 |
added test3.txt |
|
93 |
added subdirectorio/test4.txt |
|
94 |
||
95 |
A continuación tome una instantánea de sus archivos agregándolos a su branch. |
|
96 |
Agregue un mensaje para explicar por qué hace el commit:: |
|
97 |
||
98 |
$ bzr commit -m "Importación inicial" |
|
99 |
||
100 |
Como Bazaar es un sistema de control de versiones distribuido, no necesita |
|
101 |
conectar con un servidor central para hacer el commit. Bazaar guarda su |
|
102 |
branch y todos sus commits dentro del directorio con el que está trabajando, |
|
103 |
busque el subdirectorio ``.bzr``. |
|
104 |
||
105 |
||
106 |
Haciendo cambios en sus archivos |
|
107 |
================================ |
|
108 |
||
109 |
Vamos a cambiar un archivo e introduzcamos ese cambio en su branch. |
|
110 |
||
111 |
Edite ``test1.txt`` en su editor favorito y luego compruebe qué ha hecho:: |
|
112 |
||
113 |
$ bzr diff |
|
114 |
=== modified file 'test1.txt' |
|
115 |
--- test1.txt 2007-10-08 17:56:14 +0000 |
|
116 |
+++ test1.txt 2007-10-08 17:46:22 +0000 |
|
117 |
@@ -0,0 +1,1 @@ |
|
118 |
+test test test |
|
119 |
||
120 |
Añada su trabajo al branch de Bazaar:: |
|
121 |
||
122 |
$ bzr commit -m "Añadida la primera línea de texto" |
|
123 |
Committed revision 2. |
|
124 |
||
125 |
||
126 |
Viendo el log de revisiones |
|
127 |
=========================== |
|
128 |
||
129 |
Puede ver el histórico de su branch navegando su log:: |
|
130 |
||
131 |
$ bzr log |
|
132 |
------------------------------------------------------------ |
|
133 |
revno: 2 |
|
134 |
committer: John Doe <john.doe@gmail.com> |
|
135 |
branch nick: miproyecto |
|
136 |
timestamp: Mon 2007-10-08 17:56:14 +0000 |
|
137 |
message: |
|
138 |
Añadida la primera línea de texto |
|
139 |
------------------------------------------------------------ |
|
140 |
revno: 1 |
|
141 |
committer: John Doe <john.doe@gmail.com> |
|
142 |
branch nick: miproyecto |
|
143 |
timestamp: Mon 2006-10-08 17:46:22 +0000 |
|
144 |
message: |
|
145 |
Importación inicial |
|
146 |
||
147 |
||
148 |
Publicando su branch con sftp |
|
149 |
============================= |
|
150 |
||
151 |
Hay un par de maneras para publicar su branch. Si ya tiene un servidor |
|
152 |
SFTP o se siente cómodo configurando uno, puede publicar su branch con el. |
|
153 |
||
154 |
Sino salte a la siguiente sección para publicar con Launchpad_, un |
|
155 |
servicio de hosting gratuito para Bazaar. |
|
156 |
||
157 |
.. _Launchpad: https://launchpad.net/ |
|
158 |
||
159 |
Vamos a suponer que desea publicar su branch en ``www.example.com/miproyecto``:: |
|
160 |
||
161 |
$ bzr push --create-prefix sftp://su.nombre@example.com/~/public_html/miproyecto |
|
162 |
2 revision(s) pushed. |
|
163 |
||
164 |
Bazaar creará un directorio ``miproyecto`` en el servidor remoto e |
|
165 |
introducirá su branch en él. |
|
166 |
||
167 |
Ahora cualquiera podrá crear su propia copia de su branch tecleando:: |
|
168 |
||
169 |
$ bzr branch http://www.example.com/miproyecto |
|
170 |
||
171 |
**Nota:** para utilizar sftp deberá instalar ``paramiko`` y |
|
172 |
``pyCrypto``. Vea http://bazaar-vcs.org/InstallationFaq para más información. |
|
173 |
||
174 |
||
175 |
Publicando su branch con Launchpad |
|
176 |
================================== |
|
177 |
||
178 |
Launchpad es una suite de herramientas de desarrollo y hosting |
|
179 |
para proyectos de software libre. Puede utilizarlo para publicar su branch. |
|
180 |
||
181 |
Si no dispone de una cuenta de Launchpad, siga la `guia de registro de cuentas`_ |
|
182 |
y `registre una clave SSH`_ en su nueva cuenta de Launchpad. |
|
183 |
||
184 |
.. _guia de registro de cuentas: https://help.launchpad.net/CreatingYourLaunchpadAccount |
|
185 |
.. _registre una clave SSH: https://launchpad.net/people/+me/+editsshkeys |
|
186 |
||
187 |
Cambie ``john.doe`` por su nombre de usuario de Launchpad, teclee:: |
|
188 |
||
189 |
$ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/miproyecto |
|
190 |
||
191 |
**Nota:** ``+junk`` significa que este branch no está asociado con ningún proyecto |
|
192 |
concreto en Launchpad. |
|
193 |
||
194 |
Ahora cualquiera podrá crear su propia copia de su branch tecleando:: |
|
195 |
||
196 |
$ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/miproyecto |
|
197 |
||
198 |
También puede ver información sobre su branch, histórico de revisiones |
|
199 |
incluido, en https://code.launchpad.net/people/+me/+junk/miproyecto |
|
200 |
||
201 |
||
202 |
Creando su propia copia de otro branch |
|
203 |
====================================== |
|
204 |
||
205 |
Para trabajar con el código de otra persona, tendrá que hacer su propia |
|
206 |
copia de su branch. Vamos a coger un ejemplo real, la interfaz GTK de Bazaar:: |
|
207 |
||
208 |
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john |
|
209 |
Branched 292 revision(s). |
|
210 |
||
211 |
Bazaar descargará todos los archivos y el histórico de revisiones completo |
|
212 |
del trunk branch del proyecto bzr-gtk y creará una copia llamada |
|
213 |
bzr-gtk.john. |
|
214 |
||
215 |
Ahora dispone de su propia copia del branch y puede enviar cambios con |
|
216 |
o sin una conexión de red. Puede compartir su branch en cualquier momento |
|
217 |
publicándola y, si el equipo de bzr-gtk desea utilizar su trabajo, Bazaar |
|
218 |
les facilita integrar su branch dentro de su trunk branch. |
|
219 |
||
220 |
||
221 |
Actualizando su branch desde el branch principal |
|
222 |
================================================ |
|
223 |
||
224 |
Mientras envía cambios a su branch, es probable que otras personas también |
|
225 |
sigan enviando código al branch principal. |
|
226 |
||
227 |
Para asegurarse de que su branch está al dia debería integrar los cambios |
|
228 |
desde el principal dentro de su branch personal:: |
|
229 |
||
230 |
$ bzr merge |
|
3596.3.1
by James Westby
Give the user a bit more information about which saved location is being used. |
231 |
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk |
3405.2.4
by Martin Albisetti
Added mini-tutorial in spanish by Lucio Albenga |
232 |
All changes applied successfully. |
233 |
||
234 |
Compruebe qué ha cambiado:: |
|
235 |
||
236 |
$ bzr diff |
|
237 |
||
238 |
Si está contento con los cambios puede añadirlos en su branch personal:: |
|
239 |
||
240 |
$ bzr commit -m "Integración desde el branch principal" |
|
241 |
Committed revision 295. |
|
242 |
||
243 |
||
244 |
Integrando su trabajo en el branch principal |
|
245 |
============================================ |
|
246 |
||
247 |
Después de haber trabajado en su branch personal de bzr-gtk puede que |
|
248 |
quiera enviar sus cambios de vuelta al proyecto. La manera más fácil |
|
249 |
es utilizando una instrucción merge. |
|
250 |
||
251 |
Una instrucción merge es una petición de lectura mecánica para |
|
252 |
llevar a cabo una integración concreta. Por lo general contiene un |
|
253 |
parche de vista previa de la integración y, o bien contiene las |
|
254 |
revisiones necesarias, o proporciona un branch donde pueden encontrarse. |
|
255 |
||
256 |
Sustituyendo ``mycode.patch``, cree su instrucción merge:: |
|
257 |
||
258 |
$ bzr send -o mycode.patch |
|
3596.3.1
by James Westby
Give the user a bit more information about which saved location is being used. |
259 |
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk |
3405.2.4
by Martin Albisetti
Added mini-tutorial in spanish by Lucio Albenga |
260 |
|
261 |
Ahora puede enviar por email la instruccion merge al proyecto bzr-gtk |
|
262 |
quien, si así lo quieren, pueden utilizarla para integrar su trabajo |
|
263 |
dentro del branch principal. |
|
264 |
||
265 |
||
266 |
Aprendiendo más |
|
267 |
=============== |
|
268 |
||
269 |
Puede encontrar más sobre Bazaar en la |
|
270 |
`Guía de Usuario de Bazaar <../guia-usuario/index.html>`_. |
|
271 |
||
272 |
Para aprender sobre Bazaar por línea de comandos:: |
|
273 |
||
274 |
$ bzr help |
|
275 |
||
276 |
Para aprender sobre comandos de Bazaar:: |
|
277 |
||
278 |
$ bzr help commands |
|
279 |
||
280 |
Para aprender acerca del tema o comando ''foo'':: |
|
281 |
||
282 |
$ bzr help foo |
|
283 |