1
=======================
2
Bazaar en cinco minutos
3
=======================
8
Bazaar es un sistema de control de versiones distribuido que facilita que
9
varias personas puedan trabajar de forma conjunta en proyectos de software.
11
A lo largo de los próximos cinco minutos, aprenderá cómo poner sus archivos
12
bajo control de versiones, como registrar cambios en ellos, examinar su
13
trabajo, publicarlo y enviar su trabajo para que sea integrado en el trunk de
16
Si prefiere una introducción más detallada, eche un vistazo a
23
Esta guía no describe cómo instalar Bazaar pero normalmente es muy
24
sencillo. Puede encontrar intrucciones de instalación en:
26
- **GNU/Linux:** Bazaar, probablemente, ya esté en su distribución GNU/Linux.
27
- **Windows:** `instrucciones de instalación para Windows`_.
28
- **Mac OS X:** `instrucciones de instalación para Mac OS X`_.
30
Para otras plataformas y para instalar desde el código fuente, vea las
31
páginas de Descarga_ e Instalación_.
33
.. _instrucciones de instalación para Windows: http://wiki.bazaar.canonical.com/WindowsDownloads
34
.. _instrucciones de instalación para Mac OS X: http://wiki.bazaar.canonical.com/MacOSXBundle
35
.. _Descarga: http://wiki.bazaar.canonical.com/Download
36
.. _Instalación: http://wiki.bazaar.canonical.com/InstallationFaq
42
Antes de empezar a trabajar, es conveniente que le diga a Bazaar quién es
43
usted. De ese modo su trabajo será identificando correctamente en los logs
46
Utilice su nombre y dirección de email en lugar de John Doe, teclee::
48
$ bzr whoami "John Doe <john.doe@gmail.com>"
50
Bazaar creará o modificará ahora un archivo de configuración, incluyendo su
51
nombre y dirección de email.
53
Ahora compruebe que su nombre y dirección de email se han registrado correctamente::
56
John Doe <john.doe@gmail.com>
59
Ponga archivos bajo control de versiones
60
========================================
62
Vamos a crear un directorio y algunos archivos para utilizar con Bazaar::
67
$ touch test1.txt test2.txt test3.txt subdirectorio/test4.txt
69
**Nota para usuarios de Windows:** utilice Windows Explorer para crear sus
70
directorios, luego haga click derecho en dichos directorios y seleccione
71
``Nuevo archivo`` para crear sus archivos.
73
Ahora vamos a hacer que Bazaar se inicialize en el directorio de su proyecto::
77
Si parece que no ha ocurrido nada no se preocupe. Bazaar ha creado un
78
branch_ dónde guardará sus archivos y su histórico de revisiones.
80
.. _branch: http://wiki.bazaar.canonical.com/Branch
82
El siguiente paso es decirle a Bazaar a que archivos desea seguirles la pista.
83
Ejecutando ``bzr add`` agregará recursivamente todos los elementos dentro del
91
added subdirectorio/test4.txt
93
A continuación tome una instantánea de sus archivos agregándolos a su branch.
94
Agregue un mensaje para explicar por qué hace el commit::
96
$ bzr commit -m "Importación inicial"
98
Como Bazaar es un sistema de control de versiones distribuido, no necesita
99
conectar con un servidor central para hacer el commit. Bazaar guarda su
100
branch y todos sus commits dentro del directorio con el que está trabajando,
101
busque el subdirectorio ``.bzr``.
104
Haciendo cambios en sus archivos
105
================================
107
Vamos a cambiar un archivo e introduzcamos ese cambio en su branch.
109
Edite ``test1.txt`` en su editor favorito y luego compruebe qué ha hecho::
112
=== modified file 'test1.txt'
113
--- test1.txt 2007-10-08 17:56:14 +0000
114
+++ test1.txt 2007-10-08 17:46:22 +0000
118
Añada su trabajo al branch de Bazaar::
120
$ bzr commit -m "Añadida la primera línea de texto"
121
Committed revision 2.
124
Viendo el log de revisiones
125
===========================
127
Puede ver el histórico de su branch navegando su log::
130
------------------------------------------------------------
132
committer: John Doe <john.doe@gmail.com>
133
branch nick: miproyecto
134
timestamp: Mon 2007-10-08 17:56:14 +0000
136
Añadida la primera línea de texto
137
------------------------------------------------------------
139
committer: John Doe <john.doe@gmail.com>
140
branch nick: miproyecto
141
timestamp: Mon 2006-10-08 17:46:22 +0000
146
Publicando su branch con sftp
147
=============================
149
Hay un par de maneras para publicar su branch. Si ya tiene un servidor
150
SFTP o se siente cómodo configurando uno, puede publicar su branch con el.
152
Sino salte a la siguiente sección para publicar con Launchpad_, un
153
servicio de hosting gratuito para Bazaar.
155
.. _Launchpad: https://launchpad.net/
157
Vamos a suponer que desea publicar su branch en ``www.example.com/miproyecto``::
159
$ bzr push --create-prefix sftp://su.nombre@example.com/~/public_html/miproyecto
160
2 revision(s) pushed.
162
Bazaar creará un directorio ``miproyecto`` en el servidor remoto e
163
introducirá su branch en él.
165
Ahora cualquiera podrá crear su propia copia de su branch tecleando::
167
$ bzr branch http://www.example.com/miproyecto
169
**Nota:** para utilizar sftp deberá instalar ``paramiko`` y
170
``pyCrypto``. Vea http://wiki.bazaar.canonical.com/InstallationFaq para más información.
173
Publicando su branch con Launchpad
174
==================================
176
Launchpad es una suite de herramientas de desarrollo y hosting
177
para proyectos de software libre. Puede utilizarlo para publicar su branch.
179
Si no dispone de una cuenta de Launchpad, siga la `guia de registro de cuentas`_
180
y `registre una clave SSH`_ en su nueva cuenta de Launchpad.
182
.. _guia de registro de cuentas: https://help.launchpad.net/CreatingYourLaunchpadAccount
183
.. _registre una clave SSH: https://launchpad.net/people/+me/+editsshkeys
185
Cambie ``john.doe`` por su nombre de usuario de Launchpad, teclee::
187
$ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/miproyecto
189
**Nota:** ``+junk`` significa que este branch no está asociado con ningún proyecto
190
concreto en Launchpad.
192
Ahora cualquiera podrá crear su propia copia de su branch tecleando::
194
$ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/miproyecto
196
También puede ver información sobre su branch, histórico de revisiones
197
incluido, en https://code.launchpad.net/people/+me/+junk/miproyecto
200
Creando su propia copia de otro branch
201
======================================
203
Para trabajar con el código de otra persona, tendrá que hacer su propia
204
copia de su branch. Vamos a coger un ejemplo real, la interfaz GTK de Bazaar::
206
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john
207
Branched 292 revision(s).
209
Bazaar descargará todos los archivos y el histórico de revisiones completo
210
del trunk branch del proyecto bzr-gtk y creará una copia llamada
213
Ahora dispone de su propia copia del branch y puede enviar cambios con
214
o sin una conexión de red. Puede compartir su branch en cualquier momento
215
publicándola y, si el equipo de bzr-gtk desea utilizar su trabajo, Bazaar
216
les facilita integrar su branch dentro de su trunk branch.
219
Actualizando su branch desde el branch principal
220
================================================
222
Mientras envía cambios a su branch, es probable que otras personas también
223
sigan enviando código al branch principal.
225
Para asegurarse de que su branch está al dia debería integrar los cambios
226
desde el principal dentro de su branch personal::
229
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
230
All changes applied successfully.
232
Compruebe qué ha cambiado::
236
Si está contento con los cambios puede añadirlos en su branch personal::
238
$ bzr commit -m "Integración desde el branch principal"
239
Committed revision 295.
242
Integrando su trabajo en el branch principal
243
============================================
245
Después de haber trabajado en su branch personal de bzr-gtk puede que
246
quiera enviar sus cambios de vuelta al proyecto. La manera más fácil
247
es utilizando una instrucción merge.
249
Una instrucción merge es una petición de lectura mecánica para
250
llevar a cabo una integración concreta. Por lo general contiene un
251
parche de vista previa de la integración y, o bien contiene las
252
revisiones necesarias, o proporciona un branch donde pueden encontrarse.
254
Sustituyendo ``mycode.patch``, cree su instrucción merge::
256
$ bzr send -o mycode.patch
257
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
259
Ahora puede enviar por email la instruccion merge al proyecto bzr-gtk
260
quien, si así lo quieren, pueden utilizarla para integrar su trabajo
261
dentro del branch principal.
267
Puede encontrar más sobre Bazaar en la
268
`Guía de Usuario de Bazaar <../user-guide/index.html>`_.
270
Para aprender sobre Bazaar por línea de comandos::
274
Para aprender sobre comandos de Bazaar::
278
Para aprender acerca del tema o comando ''foo''::