~bzr-pqm/bzr/bzr.dev

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