1
=======================
2
Bazaar en cinco minutos
3
=======================
5
.. contents:: Contenidos
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.
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
18
Si prefiere una introducción más detallada, eche un vistazo a
25
Esta guía no describe cómo instalar Bazaar pero normalmente es muy
26
sencillo. Puede encontrar intrucciones de instalación en:
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`_.
32
Para otras plataformas y para instalar desde el código fuente, vea las
33
páginas de Descarga_ e Instalación_.
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
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
48
Utilice su nombre y dirección de email en lugar de John Doe, teclee::
50
$ bzr whoami "John Doe <john.doe@gmail.com>"
52
Bazaar creará o modificará ahora un archivo de configuración, incluyendo su
53
nombre y dirección de email.
55
Ahora compruebe que su nombre y dirección de email se han registrado correctamente::
58
John Doe <john.doe@gmail.com>
61
Ponga archivos bajo control de versiones
62
========================================
64
Vamos a crear un directorio y algunos archivos para utilizar con Bazaar::
69
$ touch test1.txt test2.txt test3.txt subdirectorio/test4.txt
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.
75
Ahora vamos a hacer que Bazaar se inicialize en el directorio de su proyecto::
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.
82
.. _branch: http://bazaar-vcs.org/Branch
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
93
added subdirectorio/test4.txt
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::
98
$ bzr commit -m "Importación inicial"
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``.
106
Haciendo cambios en sus archivos
107
================================
109
Vamos a cambiar un archivo e introduzcamos ese cambio en su branch.
111
Edite ``test1.txt`` en su editor favorito y luego compruebe qué ha hecho::
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
120
Añada su trabajo al branch de Bazaar::
122
$ bzr commit -m "Añadida la primera línea de texto"
123
Committed revision 2.
126
Viendo el log de revisiones
127
===========================
129
Puede ver el histórico de su branch navegando su log::
132
------------------------------------------------------------
134
committer: John Doe <john.doe@gmail.com>
135
branch nick: miproyecto
136
timestamp: Mon 2007-10-08 17:56:14 +0000
138
Añadida la primera línea de texto
139
------------------------------------------------------------
141
committer: John Doe <john.doe@gmail.com>
142
branch nick: miproyecto
143
timestamp: Mon 2006-10-08 17:46:22 +0000
148
Publicando su branch con sftp
149
=============================
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.
154
Sino salte a la siguiente sección para publicar con Launchpad_, un
155
servicio de hosting gratuito para Bazaar.
157
.. _Launchpad: https://launchpad.net/
159
Vamos a suponer que desea publicar su branch en ``www.example.com/miproyecto``::
161
$ bzr push --create-prefix sftp://su.nombre@example.com/~/public_html/miproyecto
162
2 revision(s) pushed.
164
Bazaar creará un directorio ``miproyecto`` en el servidor remoto e
165
introducirá su branch en él.
167
Ahora cualquiera podrá crear su propia copia de su branch tecleando::
169
$ bzr branch http://www.example.com/miproyecto
171
**Nota:** para utilizar sftp deberá instalar ``paramiko`` y
172
``pyCrypto``. Vea http://bazaar-vcs.org/InstallationFaq para más información.
175
Publicando su branch con Launchpad
176
==================================
178
Launchpad es una suite de herramientas de desarrollo y hosting
179
para proyectos de software libre. Puede utilizarlo para publicar su branch.
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.
184
.. _guia de registro de cuentas: https://help.launchpad.net/CreatingYourLaunchpadAccount
185
.. _registre una clave SSH: https://launchpad.net/people/+me/+editsshkeys
187
Cambie ``john.doe`` por su nombre de usuario de Launchpad, teclee::
189
$ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/miproyecto
191
**Nota:** ``+junk`` significa que este branch no está asociado con ningún proyecto
192
concreto en Launchpad.
194
Ahora cualquiera podrá crear su propia copia de su branch tecleando::
196
$ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/miproyecto
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
202
Creando su propia copia de otro branch
203
======================================
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::
208
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john
209
Branched 292 revision(s).
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
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.
221
Actualizando su branch desde el branch principal
222
================================================
224
Mientras envía cambios a su branch, es probable que otras personas también
225
sigan enviando código al branch principal.
227
Para asegurarse de que su branch está al dia debería integrar los cambios
228
desde el principal dentro de su branch personal::
231
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
232
All changes applied successfully.
234
Compruebe qué ha cambiado::
238
Si está contento con los cambios puede añadirlos en su branch personal::
240
$ bzr commit -m "Integración desde el branch principal"
241
Committed revision 295.
244
Integrando su trabajo en el branch principal
245
============================================
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.
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.
256
Sustituyendo ``mycode.patch``, cree su instrucción merge::
258
$ bzr send -o mycode.patch
259
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
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.
269
Puede encontrar más sobre Bazaar en la
270
`Guía de Usuario de Bazaar <../guia-usuario/index.html>`_.
272
Para aprender sobre Bazaar por línea de comandos::
276
Para aprender sobre comandos de Bazaar::
280
Para aprender acerca del tema o comando ''foo''::