hgbook

changeset 375:84944c0ecde6

Merged changes from jerojasro concerning tour-basic
author Igor TAmara <igor@tamarapatino.org>
date Mon Oct 27 13:44:21 2008 -0500 (2008-10-27)
parents c2ff82128ac5 0801d625fabe
children bdaa98efa2f1
files es/Leame.1st es/daily.tex
line diff
     1.1 --- a/es/Leame.1st	Mon Oct 27 13:32:16 2008 -0500
     1.2 +++ b/es/Leame.1st	Mon Oct 27 13:44:21 2008 -0500
     1.3 @@ -98,7 +98,7 @@
     1.4  || branch.tex      || Igor Támara   ||    100%    || 16/10/2008 ||  19/10/2008 ||
     1.5  || preface.tex     || Javier Rojas  ||    100%    || 18/10/2008 ||  19/10/2008 ||
     1.6  || daily.tex       || Igor Támara   ||    100%    || 19/10/2008 ||  26/10/2008 ||
     1.7 -|| tour-basic.tex  || Javier Rojas  ||    31%     || 19/10/2008 ||             ||
     1.8 +|| tour-basic.tex  || Javier Rojas  ||    80%     || 19/10/2008 ||             ||
     1.9  || undo.tex        || Igor Támara   ||    7%      || 26/10/2008 ||             ||
    1.10  
    1.11  == Archivos en proceso de revisión ==
    1.12 @@ -152,6 +152,8 @@
    1.13   Roll back: Retroceder, diferente a revert(revertir) o undo(deshacer)
    1.14   Snapshot: instantánea
    1.15  
    1.16 +abort -> cancelar
    1.17 +
    1.18  ancestry -> ascendencia
    1.19      La traducción literal concuerda con el significado que se le
    1.20      da al mismo término en la jerga de Subversion.
     2.1 --- a/es/daily.tex	Mon Oct 27 13:32:16 2008 -0500
     2.2 +++ b/es/daily.tex	Mon Oct 27 13:44:21 2008 -0500
     2.3 @@ -25,7 +25,7 @@
     2.4  puede obtener tal información; más adelante hablaremos de ello.)
     2.5  
     2.6  
     2.7 -Cuando usted añade un fichero, Mercurial no hace nada con el inmediatamente.
     2.8 +Cuando usted añade un fichero, Mercurial no hace nada con él inmediatamente.
     2.9  A cambio, tomará una instantánea del estado del fichero la próxima vez
    2.10  que usted consigne. Continuará haciendo seguimiento a los cambios que
    2.11  haga sobre el fichero cada vez que consigne, hasta que usted lo elimine.
    2.12 @@ -168,9 +168,9 @@
    2.13  \section{Copiar ficheros}
    2.14  
    2.15  Mercurial ofrece la orden \hgcmd{copy} para hacer una nueva copia de
    2.16 -un archivo.  Cuando se copia un archivo con esta orden, Mercurial
    2.17 +un fichero.  Cuando se copia un fichero con esta orden, Mercurial
    2.18  lleva un registro indicando que el nuevo archivo es una copia del
    2.19 -fichero original. Trata de forma especial los archivos copiados cuando
    2.20 +fichero original. Trata de forma especial los ficheros copiados cuando
    2.21  usted hace una fusión con el trabajo de alguien más.
    2.22  
    2.23  \subsection{Resultados de copiar un archivo durante una fusión}
     3.1 --- a/es/tour-basic.tex	Mon Oct 27 13:32:16 2008 -0500
     3.2 +++ b/es/tour-basic.tex	Mon Oct 27 13:44:21 2008 -0500
     3.3 @@ -118,12 +118,12 @@
     3.4  \section{Trabajar con un repositorio}
     3.5  
     3.6  En Mercurial, todo sucede dentro de un \emph{repositorio}. El
     3.7 -repositorio para un proyecto contiene todos los archivos que
     3.8 +repositorio para un proyecto contiene todos los ficheros que
     3.9  ``pertenecen a'' ése proyecto, junto con un registro histórico de los
    3.10 -archivos de ese proyecto.
    3.11 +ficheros de ese proyecto.
    3.12  
    3.13  No hay nada particularmente mágico acerca de un repositorio; es
    3.14 -simplemente un árbol de directorios en su sistema de archivos que
    3.15 +simplemente un árbol de directorios en su sistema de ficheros que
    3.16  Mercurial trata como especial. Usted puede renombrar o borrar un
    3.17  repositorio en el momento que lo desee, usando bien sea la línea de
    3.18  comandos o su explorador de ficheros.
    3.19 @@ -131,20 +131,20 @@
    3.20  \subsection{Hacer una copia local de un repositorio}
    3.21  
    3.22  \emph{Copiar} un repositorio es sólo ligeramente especial. Aunque
    3.23 -usted podría usar un programa normal de copia de archivos para hacer
    3.24 +usted podría usar un programa normal de copia de ficheros para hacer
    3.25  una copia del repositorio, es mejor usar el comando integrado que
    3.26  Mercurial ofrece. Este comando se llama \hgcmd{clone}\ndt{Del término
    3.27  ``clonar'' en inglés.}, porque crea una copia idéntica de un
    3.28  repositorio existente.
    3.29  \interaction{tour.clone}
    3.30  Si nuestro clonado tiene éxito, deberíamos tener un directorio local
    3.31 -llamado \dirname{hello}. Este directorio contendrá algunos archivos.
    3.32 +llamado \dirname{hello}. Este directorio contendrá algunos ficheros.
    3.33  \interaction{tour.ls}
    3.34 -Estos archivos tienen el mismo contenido e historial en nuestro
    3.35 +Estos ficheros tienen el mismo contenido e historial en nuestro
    3.36  repositorio y en el repositorio que clonamos.
    3.37  
    3.38  Cada repositorio Mercurial está completo, es autocontenido e
    3.39 -independiente. Contiene su propia copia de los archivos y la historia
    3.40 +independiente. Contiene su propia copia de los ficheros y la historia
    3.41  de un proyecto. Un repositorio clonado recuerda la ubicación de la que
    3.42  fue clonado, pero no se comunica con ese repositorio, ni con ningún
    3.43  otro, a menos que usted le indique que lo haga.
    3.44 @@ -163,10 +163,10 @@
    3.45  
    3.46  Los contenidos del directorio \dirname{.hg} y sus subdirectorios son
    3.47  exclusivos de Mercurial. Usted es libre de hacer lo que desee con
    3.48 -cualquier otro archivo o directorio en el repositorio.
    3.49 +cualquier otro fichero o directorio en el repositorio.
    3.50  
    3.51  Para introducir algo de terminología, el directorio \dirname{.hg} es
    3.52 -el repositorio ``real'', y todos los archivos y directorios que
    3.53 +el repositorio ``real'', y todos los ficheros y directorios que
    3.54  coexisten con él están en el \emph{directorio de trabajo}. Una forma
    3.55  sencilla de recordar esta distinción es que el \emph{repositorio}
    3.56  % TODO unificar con Igor, si historia o historial
    3.57 @@ -184,7 +184,7 @@
    3.58  proyecto que haya sido grabado. Dentro de la terminología de
    3.59  Mercurial, cada uno de estos eventos es llamado \emph{conjuntos de
    3.60  cambios}, porque pueden contener un registro de cambios a varios
    3.61 -archivos.
    3.62 +ficheros.
    3.63  
    3.64  Los campos de la salida de \hgcmd{log} son los siguientes.
    3.65  \begin{itemize}
    3.66 @@ -203,322 +203,359 @@
    3.67      casos contiene el nombre de una persona y su dirección de correo
    3.68      electrónico.
    3.69      
    3.70 -\item[\texttt{date}] The date and time on which the changeset was
    3.71 -  created, and the timezone in which it was created.  (The date and
    3.72 -  time are local to that timezone; they display what time and date it
    3.73 -  was for the person who created the changeset.)
    3.74 -\item[\texttt{summary}] The first line of the text message that the
    3.75 -  creator of the changeset entered to describe the changeset.
    3.76 +\item[\texttt{date}]\hspace{-0.5em}\ndt{Fecha.} La fecha y hora en la
    3.77 +    que el conjunto de cambios fue creado, y la zona horaria en la que
    3.78 +    fue creado. (La fecha y hora son locales a dicha zona horaria;
    3.79 +    ambos muestran la fecha y hora para la persona que creó el
    3.80 +    changeset).
    3.81 +    
    3.82 +\item[\texttt{summary}]\hspace{-0.5em}\ndt{Sumario.} 
    3.83 +    La primera línea del texto que usó la persona que creó el conjunto
    3.84 +    de cambios para describir el mismo.
    3.85  \end{itemize}
    3.86 -The default output printed by \hgcmd{log} is purely a summary; it is
    3.87 -missing a lot of detail.
    3.88 -
    3.89 -Figure~\ref{fig:tour-basic:history} provides a graphical representation of
    3.90 -the history of the \dirname{hello} repository, to make it a little
    3.91 -easier to see which direction history is ``flowing'' in.  We'll be
    3.92 -returning to this figure several times in this chapter and the chapter
    3.93 -that follows.
    3.94 +El texto impreso por \hgcmd{log} es sólo un sumario; omite una gran
    3.95 +cantidad de detalles.
    3.96 +
    3.97 +La figura~\ref{fig:tour-basic:history} es una representación
    3.98 +gráfica del historial del repositorio \dirname{hello}, para hacer más
    3.99 +fácil ver en qué dirección está ``fluyendo'' el historial. Volveremos
   3.100 +a esto varias veces en este capítulo y en los siguientes.
   3.101  
   3.102  \begin{figure}[ht]
   3.103    \centering
   3.104    \grafix{tour-history}
   3.105 -  \caption{Graphical history of the \dirname{hello} repository}
   3.106 +  \caption{Historial gráfico de el repositorio \dirname{hello}}
   3.107    \label{fig:tour-basic:history}
   3.108  \end{figure}
   3.109  
   3.110 -\subsection{Changesets, revisions, and talking to other 
   3.111 -  people}
   3.112 -
   3.113 -As English is a notoriously sloppy language, and computer science has
   3.114 -a hallowed history of terminological confusion (why use one term when
   3.115 -four will do?), revision control has a variety of words and phrases
   3.116 -that mean the same thing.  If you are talking about Mercurial history
   3.117 -with other people, you will find that the word ``changeset'' is often
   3.118 -compressed to ``change'' or (when written) ``cset'', and sometimes a
   3.119 -changeset is referred to as a ``revision'' or a ``rev''.
   3.120 -
   3.121 -While it doesn't matter what \emph{word} you use to refer to the
   3.122 -concept of ``a~changeset'', the \emph{identifier} that you use to
   3.123 -refer to ``a~\emph{specific} changeset'' is of great importance.
   3.124 -Recall that the \texttt{changeset} field in the output from
   3.125 -\hgcmd{log} identifies a changeset using both a number and a
   3.126 -hexadecimal string.
   3.127 +\subsection{Conjuntos de cambios, revisiones, y comunicándose con
   3.128 +otras personas}
   3.129 +
   3.130 +%TODO sloppy => desordenado ?  TODO hablar del inglés? o de español?
   3.131 +Ya que el inglés es un lenguaje notablemente desordenado, y el área de
   3.132 +ciencias de la computación tiene una notable historia de confusión de
   3.133 +% TODO insertar ? al revés. no sé cómo en un teclado de estos.
   3.134 +términos (porqué usar sólo un término cuando cuatro pueden servir?),
   3.135 +el control de revisiones tiene una variedad de frases y palabras que
   3.136 +tienen el mismo significado. Si usted habla acerca del historial de
   3.137 +Mercurial con alguien, encontrará que la expresión ``conjunto de
   3.138 +cambios'' es abreviada a menudo como ``cambio'' o (por escrito)
   3.139 +``cset''\ndt{Abreviatura para la expresión ``changeset'' en inglés.},
   3.140 +y algunas veces un se hace referencia a un conjunto de cambios como
   3.141 +una ``revisión'' o ``rev''\ndt{De nuevo, como abreviación para el
   3.142 +término en inglés para ``revisión'' (``revision'').}.
   3.143 +
   3.144 +Si bien no es relevante qué \emph{palabra} use usted para referirse al
   3.145 +concepto ``conjunto de cambios'', el \emph{identificador} que usted
   3.146 +use para referise a ``un \emph{conjunto de cambios} particular'' es
   3.147 +muy importante. Recuerde que el campo \texttt{changeset} en la salida
   3.148 +de \hgcmd{log} identifica un conjunto de cambios usando tanto un
   3.149 +número como una cadena hexadecimal.
   3.150 +
   3.151  \begin{itemize}
   3.152 -\item The revision number is \emph{only valid in that repository},
   3.153 -\item while the hex string is the \emph{permanent, unchanging
   3.154 -    identifier} that will always identify that exact changeset in
   3.155 -  \emph{every} copy of the repository.
   3.156 +    \item El número de revisión \emph{sólo es válido dentro del
   3.157 +        repositorio}.
   3.158 +    \item Por otro lado, la cadena hexadecimal es el
   3.159 +        \emph{identificador permanente e inmutable} que siempre
   3.160 +        identificará ése conjunto de cambios en \emph{todas} las
   3.161 +        copias del repositorio.
   3.162  \end{itemize}
   3.163 -This distinction is important.  If you send someone an email talking
   3.164 -about ``revision~33'', there's a high likelihood that their
   3.165 -revision~33 will \emph{not be the same} as yours.  The reason for this
   3.166 -is that a revision number depends on the order in which changes
   3.167 -arrived in a repository, and there is no guarantee that the same
   3.168 -changes will happen in the same order in different repositories.
   3.169 -Three changes $a,b,c$ can easily appear in one repository as $0,1,2$,
   3.170 -while in another as $1,0,2$.
   3.171 -
   3.172 -Mercurial uses revision numbers purely as a convenient shorthand.  If
   3.173 -you need to discuss a changeset with someone, or make a record of a
   3.174 -changeset for some other reason (for example, in a bug report), use
   3.175 -the hexadecimal identifier.
   3.176 -
   3.177 -\subsection{Viewing specific revisions}
   3.178 -
   3.179 -To narrow the output of \hgcmd{log} down to a single revision, use the
   3.180 -\hgopt{log}{-r} (or \hgopt{log}{--rev}) option.  You can use either a
   3.181 -revision number or a long-form changeset identifier, and you can
   3.182 -provide as many revisions as you want.  \interaction{tour.log-r}
   3.183 -
   3.184 -If you want to see the history of several revisions without having to
   3.185 -list each one, you can use \emph{range notation}; this lets you
   3.186 -express the idea ``I want all revisions between $a$ and $b$,
   3.187 -inclusive''.
   3.188 +La diferencia es importante. Si usted le envía a alguien un correo
   3.189 +electrónico hablando acerca de la ``revisión~33'', hay una
   3.190 +probabilidad alta de que la revisión~33 de esa persona \emph{no sea la
   3.191 +misma suya}. Esto sucede porque el número de revisión depende de el
   3.192 +orden en que llegan los cambios al repositorio, y no hay ninguna
   3.193 +garantía de que los mismos cambios llegarán en el mismo orden en
   3.194 +diferentes repositorios. Tres cambios dados $a,b,c$ pueden aparecer en
   3.195 +un repositorio como $0,1,2$, mientras que en otro aparecen como
   3.196 +$1,0,2$.
   3.197 +
   3.198 +Mercurial usa los números de revisión simplemente como una abreviación
   3.199 +conveniente. Si usted necesita hablar con alguien acerca de un
   3.200 +conjunto de cambios, o llevar el registro de un conjunto de cambios
   3.201 +por alguna otra razón (por ejemplo, en un reporte de fallo), use el
   3.202 +identificador hexadecimal.
   3.203 +
   3.204 +\subsection{Ver revisiones específicas}
   3.205 +
   3.206 +Para reducir la salida de \hgcmd{log} a una sola revisión, use la  
   3.207 +opción \hgopt{log}{-r} (o \hgopt{log}{--rev}).  Puede usar un número
   3.208 +de revisión o un identificador hexadecimal de conjunto de cambios, y
   3.209 +puede pasar tantas revisiones como desee.
   3.210 +
   3.211 +\interaction{tour.log-r}
   3.212 +
   3.213 +Si desea ver el historial de varias revisiones sin tener que mencionar
   3.214 +cada una de ellas, puede usar la \emph{notación de rango}; esto le
   3.215 +permite expresar el concepto ``quiero ver todas las revisiones entre
   3.216 +$a$ y $b$, inclusive''.
   3.217  \interaction{tour.log.range}
   3.218 -Mercurial also honours the order in which you specify revisions, so
   3.219 -\hgcmdargs{log}{-r 2:4} prints $2,3,4$ while \hgcmdargs{log}{-r 4:2}
   3.220 -prints $4,3,2$.
   3.221 -
   3.222 -\subsection{More detailed information}
   3.223 -
   3.224 -While the summary information printed by \hgcmd{log} is useful if you
   3.225 -already know what you're looking for, you may need to see a complete
   3.226 -description of the change, or a list of the files changed, if you're
   3.227 -trying to decide whether a changeset is the one you're looking for.
   3.228 -The \hgcmd{log} command's \hggopt{-v} (or \hggopt{--verbose})
   3.229 -option gives you this extra detail.
   3.230 +Mercurial también respeta el orden en que usted especifica las
   3.231 +revisiones, así que \hgcmdargs{log}{-r 2:4} muestra $2,3,4$ mientras
   3.232 +que \hgcmdargs{log}{-r 4:2} muestra $4,3,2$.
   3.233 +
   3.234 +\subsection{Información más detallada}
   3.235 +Aunque la información presentada por \hgcmd{log} es útil si usted sabe
   3.236 +de antemano qué está buscando, puede que necesite ver una descripción
   3.237 +completa de el cambio, o una lista de los ficheros que cambiaron, si
   3.238 +está tratando de averiguar si un conjunto de cambios dado es el que
   3.239 +usted está buscando. La opción \hggopt{-v} (or \hggopt{--verbose}) del
   3.240 +comando \hgcmd{log} le da este nivel extra de detalle.
   3.241  \interaction{tour.log-v}
   3.242  
   3.243 -If you want to see both the description and content of a change, add
   3.244 -the \hgopt{log}{-p} (or \hgopt{log}{--patch}) option.  This displays
   3.245 -the content of a change as a \emph{unified diff} (if you've never seen
   3.246 -a unified diff before, see section~\ref{sec:mq:patch} for an overview).
   3.247 +Si desea ver tanto la descripción como el contenido de un cambio,
   3.248 +añada la opción \hgopt{log}{-p} (o \hgopt{log}{--patch}). Esto muestra
   3.249 +% TODO qué hacemos con diff unificado? convervarlo, por ser la
   3.250 +% acepción usual?
   3.251 +el contenido de un cambio como un \emph{diff unificado} (si usted
   3.252 +nunca ha visto un diff unificado antes, vea la
   3.253 +sección~\ref{sec:mq:patch} para un vistazo global).
   3.254  \interaction{tour.log-vp}
   3.255  
   3.256 -\section{All about command options}
   3.257 -
   3.258 -Let's take a brief break from exploring Mercurial commands to discuss
   3.259 -a pattern in the way that they work; you may find this useful to keep
   3.260 -in mind as we continue our tour.
   3.261 -
   3.262 -Mercurial has a consistent and straightforward approach to dealing
   3.263 -with the options that you can pass to commands.  It follows the
   3.264 -conventions for options that are common to modern Linux and Unix
   3.265 -systems.
   3.266 +\section{Todo acerca de las opciones para comandos}
   3.267 +
   3.268 +Tomemos un breve descanso de la tarea de explorar los comandos de
   3.269 +Mercurial para hablar de un patrón en la manera en que trabajan; será
   3.270 +útil tener esto en mente a medida que avanza nuestra gira.
   3.271 +
   3.272 +Mercurial tiene un enfoque directo y consistente en el manejo de las
   3.273 +opciones que usted le puede pasar a los comandos. Se siguen las
   3.274 +convenciones para opciones que son comunes en sistemas Linux y Unix
   3.275 +modernos.
   3.276  \begin{itemize}
   3.277 -\item Every option has a long name.  For example, as we've already
   3.278 -  seen, the \hgcmd{log} command accepts a \hgopt{log}{--rev} option.
   3.279 -\item Most options have short names, too.  Instead of
   3.280 -  \hgopt{log}{--rev}, we can use \hgopt{log}{-r}.  (The reason that
   3.281 -  some options don't have short names is that the options in question
   3.282 -  are rarely used.)
   3.283 -\item Long options start with two dashes (e.g.~\hgopt{log}{--rev}),
   3.284 -  while short options start with one (e.g.~\hgopt{log}{-r}).
   3.285 -\item Option naming and usage is consistent across commands.  For
   3.286 -  example, every command that lets you specify a changeset~ID or
   3.287 -  revision number accepts both \hgopt{log}{-r} and \hgopt{log}{--rev}
   3.288 -  arguments.
   3.289 +\item Cada opción tiene un nombre largo. Por ejemplo, el comando
   3.290 +    \hgcmd{log} acepta la opción \hgopt{log}{--rev}, como ya hemos
   3.291 +    visto.
   3.292 +\item Muchas opciones tienen también un nombre corto. En vez de
   3.293 +    \hgopt{log}{--rev}, podemos usar \hgopt{log}{-r}.  (El motivo para
   3.294 +    que algunas opciones no tengan nombres cortos es que dichas
   3.295 +    opciones se usan rara vez.)
   3.296 +\item Las opciones largas empiezan con dos guiones (p.ej.~\hgopt{log}{--rev}),
   3.297 +    mientras que las opciones cortas empiezan con uno (e.g.~\hgopt{log}{-r}).
   3.298 +\item El nombre  y uso de las opciones es consistente en todos los
   3.299 +    comandos. Por ejemplo, cada comando que le permite pasar un ID de
   3.300 +    conjunto de cambios o un número de revisión acepta tanto la opción
   3.301 +    \hgopt{log}{-r} como la \hgopt{log}{--rev}.
   3.302  \end{itemize}
   3.303 -In the examples throughout this book, I use short options instead of
   3.304 -long.  This just reflects my own preference, so don't read anything
   3.305 -significant into it.
   3.306 -
   3.307 -Most commands that print output of some kind will print more output
   3.308 -when passed a \hggopt{-v} (or \hggopt{--verbose}) option, and less
   3.309 -when passed \hggopt{-q} (or \hggopt{--quiet}).
   3.310 -
   3.311 -\section{Making and reviewing changes}
   3.312 -
   3.313 -Now that we have a grasp of viewing history in Mercurial, let's take a
   3.314 -look at making some changes and examining them.
   3.315 -
   3.316 -The first thing we'll do is isolate our experiment in a repository of
   3.317 -its own.  We use the \hgcmd{clone} command, but we don't need to
   3.318 -clone a copy of the remote repository.  Since we already have a copy
   3.319 -of it locally, we can just clone that instead.  This is much faster
   3.320 -than cloning over the network, and cloning a local repository uses
   3.321 -less disk space in most cases, too.
   3.322 +En los ejemplos en este libro, uso las opciones cortas en vez de las
   3.323 +largas. Esto sólo muestra mis preferencias, así que no le dé
   3.324 +significado especial a eso.
   3.325 +
   3.326 +Muchos de los comandos que generan salida de algún tipo mostrarán más
   3.327 +salida cuando se les pase la opción \hggopt{-v} (o
   3.328 +\hggopt{--verbose}\ndt{Prolijo.}), y menos cuando se les pase la opción \hggopt{-q}
   3.329 +(o \hggopt{--quiet}\ndt{Silencioso.}).
   3.330 +
   3.331 +\section{Hacer y repasar cambios}
   3.332 +
   3.333 +Ahora que tenemos una comprensión adecuada sobre cómo revisar el
   3.334 +historial en Mercurial, hagamos algunos cambios y veamos cómo
   3.335 +examinarlos.
   3.336 +
   3.337 +Lo primero que haremos será aislar nuestro experimento en un
   3.338 +repositorio propio. Usaremos el comando \hgcmd{clone}, pero no hace
   3.339 +falta clonar una copia de el repositorio remoto. Como ya contamos con
   3.340 +una copia local del mismo, podemos clonar esa. Esto es mucho más
   3.341 +rápido que clonar a través de la red, y en la mayoría de los casos
   3.342 +clonar un repositorio local usa menos espacio en disco también.
   3.343  \interaction{tour.reclone}
   3.344 -As an aside, it's often good practice to keep a ``pristine'' copy of a
   3.345 -remote repository around, which you can then make temporary clones of
   3.346 -to create sandboxes for each task you want to work on.  This lets you
   3.347 -work on multiple tasks in parallel, each isolated from the others
   3.348 -until it's complete and you're ready to integrate it back.  Because
   3.349 -local clones are so cheap, there's almost no overhead to cloning and
   3.350 -destroying repositories whenever you want.
   3.351 -
   3.352 -In our \dirname{my-hello} repository, we have a file
   3.353 -\filename{hello.c} that contains the classic ``hello, world'' program.
   3.354 -Let's use the ancient and venerable \command{sed} command to edit this
   3.355 -file so that it prints a second line of output.  (I'm only using
   3.356 -\command{sed} to do this because it's easy to write a scripted example
   3.357 -this way.  Since you're not under the same constraint, you probably
   3.358 -won't want to use \command{sed}; simply use your preferred text editor to
   3.359 -do the same thing.)
   3.360 +A manera de recomendación, es considerado buena práctica mantener una
   3.361 +copia ``prístina'' de un repositorio remoto a mano, del cual usted
   3.362 +puede hacer clones temporales para crear cajas de arena para cada
   3.363 +tarea en la que desee trabajar. Esto le permite trabajar en múltiples
   3.364 +tareas en paralelo, teniendo cada una de ellas aislada de las otras
   3.365 +hasta que estén completas y usted esté listo para integrar los cambios
   3.366 +de vuelta. Como los clones locales son tan baratos, clonar y destruir
   3.367 +repositorios no consume demasiados recursos, lo que facilita hacerlo
   3.368 +en cualquier momento.
   3.369 +
   3.370 +En nuestro repositorio \dirname{my-hello}, hay un fichero
   3.371 +\filename{hello.c} que contiene el clásico programa ``hello,
   3.372 +world''\ndt{Hola, mundo.}. Usaremos el clásico y venerado comando
   3.373 +\command{sed} para editar este fichero y hacer que imprima una segunda
   3.374 +línea de salida. (Estoy usando el comando \command{sed} para hacer
   3.375 +esto sólo porque es fácil escribir un ejemplo automatizado con él.
   3.376 +Dado que usted no tiene esta restricción, probablemente no querrá usar
   3.377 +\command{sed}; use su editor de texto preferido para hacer lo mismo).
   3.378  \interaction{tour.sed}
   3.379  
   3.380 -Mercurial's \hgcmd{status} command will tell us what Mercurial knows
   3.381 -about the files in the repository.
   3.382 +El comando \hgcmd{status} de Mercurial nos dice lo que Mercurial sabe
   3.383 +acerca de los ficheros en el repositorio.
   3.384  \interaction{tour.status}
   3.385 -The \hgcmd{status} command prints no output for some files, but a line
   3.386 -starting with ``\texttt{M}'' for \filename{hello.c}.  Unless you tell
   3.387 -it to, \hgcmd{status} will not print any output for files that have
   3.388 -not been modified.  
   3.389 -
   3.390 -The ``\texttt{M}'' indicates that Mercurial has noticed that we
   3.391 -modified \filename{hello.c}.  We didn't need to \emph{inform}
   3.392 -Mercurial that we were going to modify the file before we started, or
   3.393 -that we had modified the file after we were done; it was able to
   3.394 -figure this out itself.
   3.395 -
   3.396 -It's a little bit helpful to know that we've modified
   3.397 -\filename{hello.c}, but we might prefer to know exactly \emph{what}
   3.398 -changes we've made to it.  To do this, we use the \hgcmd{diff}
   3.399 -command.
   3.400 +El comando \hgcmd{status} no imprime nada para algunos ficheros, sólo
   3.401 +una línea empezando con ``\texttt{M}'' para el fichero
   3.402 +\filename{hello.c}. A menos que usted lo indique explícitamente,
   3.403 +\hgcmd{status} no imprimirá nada respecto a los ficheros que no han
   3.404 +sido modificados.
   3.405 +
   3.406 +La ``\texttt{M}'' indica que Mercurial se dio cuenta de que nosotros
   3.407 +modificamos \filename{hello.c}.  No tuvimos que \emph{decirle} a
   3.408 +Mercurial que íbamos a modificar ese fichero antes de hacerlo, o que
   3.409 +lo modificamos una vez terminamos de hacerlo; él fue capaz de darse
   3.410 +cuenta de esto por sí mismo.
   3.411 +
   3.412 +Es algo útil saber que hemos modificado el fichero \filename{hello.c},
   3.413 +pero preferiríamos saber exactamente \emph{qué} cambios hicimos.
   3.414 +Para averiguar esto, usamos el comando \hgcmd{diff}.
   3.415  \interaction{tour.diff}
   3.416  
   3.417 -\section{Recording changes in a new changeset}
   3.418 -
   3.419 -We can modify files, build and test our changes, and use
   3.420 -\hgcmd{status} and \hgcmd{diff} to review our changes, until we're
   3.421 -satisfied with what we've done and arrive at a natural stopping point
   3.422 -where we want to record our work in a new changeset.
   3.423 -
   3.424 -The \hgcmd{commit} command lets us create a new changeset; we'll
   3.425 -usually refer to this as ``making a commit'' or ``committing''.  
   3.426 -
   3.427 -\subsection{Setting up a username}
   3.428 -
   3.429 -When you try to run \hgcmd{commit} for the first time, it is not
   3.430 -guaranteed to succeed.  Mercurial records your name and address with
   3.431 -each change that you commit, so that you and others will later be able
   3.432 -to tell who made each change.  Mercurial tries to automatically figure
   3.433 -out a sensible username to commit the change with.  It will attempt
   3.434 -each of the following methods, in order:
   3.435 +\section{Grabar cambios en un nuevo conjunto de cambios}
   3.436 +
   3.437 +Podemos modificar, compilar y probar nuestros cambios, y usar
   3.438 +\hgcmd{status} y \hgcmd{diff} para revisar los mismos, hasta que
   3.439 +estemos satisfechos con los resultados y lleguemos a un momento en el
   3.440 +que sea natural que querramos guardar nuestro trabajo en un nuevo
   3.441 +conjunto de cambios.
   3.442 +
   3.443 +El comando \hgcmd{commit} nos permite crear un nuevo conjunto de
   3.444 +cambios. Nos referiremos usualmente a esto como ``hacer una consigna''
   3.445 +o consignar.
   3.446 +
   3.447 +\subsection{Definir un nombre de usuario}
   3.448 +
   3.449 +Cuando usted trata de ejecutar \hgcmd{commit}\ndt{Hacer una
   3.450 +consignación} por primera vez, no está garantizado que lo logre.
   3.451 +Mercurial registra su nombre y dirección en cada cambio que usted
   3.452 +consigna, para que más adelante otros puedan saber quién es el
   3.453 +responsable de cada cambio. Mercurial trata de encontrar un nombre de
   3.454 +% TODO consigna o consignación?
   3.455 +usuario adecuado con el cual registrar la consignación. Se intenta con
   3.456 +cada uno de los siguientes métodos, en el orden presentado.
   3.457  \begin{enumerate}
   3.458 -\item If you specify a \hgopt{commit}{-u} option to the \hgcmd{commit}
   3.459 -  command on the command line, followed by a username, this is always
   3.460 -  given the highest precedence.
   3.461 -\item If you have set the \envar{HGUSER} environment variable, this is
   3.462 -  checked next.
   3.463 -\item If you create a file in your home directory called
   3.464 -  \sfilename{.hgrc}, with a \rcitem{ui}{username} entry, that will be
   3.465 -  used next.  To see what the contents of this file should look like,
   3.466 -  refer to section~\ref{sec:tour-basic:username} below.
   3.467 -\item If you have set the \envar{EMAIL} environment variable, this
   3.468 -  will be used next.
   3.469 -\item Mercurial will query your system to find out your local user
   3.470 -  name and host name, and construct a username from these components.
   3.471 -  Since this often results in a username that is not very useful, it
   3.472 -  will print a warning if it has to do this.
   3.473 +\item Si usted pasa la opción \hgopt{commit}{-u} al comando \hgcmd{commit}
   3.474 +  en la línea de comandos, seguido de un nombre de usuario, se le da a
   3.475 +  esto la máxima precedencia.
   3.476 +\item A continuación se revisa si usted ha definido la variable de
   3.477 +    entorno \envar{HGUSER}.
   3.478 +\item Si usted crea un fichero en su directorio personal llamado
   3.479 +  \sfilename{.hgrc}, con una entrada \rcitem{ui}{username}, se usa
   3.480 +  luego. Para revisar cómo debe verse este fichero, refiérase a la
   3.481 +  sección~\ref{sec:tour-basic:username} más abajo.
   3.482 +\item Si usted ha definido la variable de entorno \envar{EMAIL}, será
   3.483 +    usada a continuación.
   3.484 +\item Mercurial le pedirá a su sistema buscar su nombre de usuario
   3.485 +    % TODO host => máquina
   3.486 +    local, y el nombre de máquina, y construirá un nombre de usuario a
   3.487 +    partir de estos componentes. Ya que esto generalmente termina
   3.488 +    generando un nombre de usuario no muy útil, se imprimirá una
   3.489 +    advertencia si es necesario hacerlo.
   3.490  \end{enumerate}
   3.491 -If all of these mechanisms fail, Mercurial will fail, printing an
   3.492 -error message.  In this case, it will not let you commit until you set
   3.493 -up a username.
   3.494 -
   3.495 -You should think of the \envar{HGUSER} environment variable and the
   3.496 -\hgopt{commit}{-u} option to the \hgcmd{commit} command as ways to
   3.497 -\emph{override} Mercurial's default selection of username.  For normal
   3.498 -use, the simplest and most robust way to set a username for yourself
   3.499 -is by creating a \sfilename{.hgrc} file; see below for details.
   3.500 -
   3.501 -\subsubsection{Creating a Mercurial configuration file}
   3.502 +Si todos estos procedimientos fallan, Mercurial fallará, e imprimirá
   3.503 +un mensaje de error. En este caso, no le permitirá hacer la
   3.504 +consignación hasta que usted defina un nombre de usuario.
   3.505 +
   3.506 +Trate de ver la variable de entorno \envar{HGUSER} y la opción
   3.507 +\hgopt{commit}{-u} del comando \hgcmd{commit} como formas de
   3.508 +\emph{hacer caso omiso} de la selección de nombre de usuario que
   3.509 +Mercurial hace normalmente.  Para uso normal, la manera más simple y
   3.510 +sencilla de definir un nombre de usuario para usted es crear un
   3.511 +fichero \sfilename{.hgrc}; los detalles se encuentran más adelante.
   3.512 +
   3.513 +\subsubsection{Crear el fichero de configuración de Mercurial}
   3.514  \label{sec:tour-basic:username}
   3.515  
   3.516 -To set a user name, use your favourite editor to create a file called
   3.517 -\sfilename{.hgrc} in your home directory.  Mercurial will use this
   3.518 -file to look up your personalised configuration settings.  The initial
   3.519 -contents of your \sfilename{.hgrc} should look like this.
   3.520 +Para definir un nombre de usuario, use su editor de texto favorito
   3.521 +para crear un fichero llamado \sfilename{.hgrc} en su directorio
   3.522 +personal. Mercurial usará este fichero para obtener las
   3.523 +configuraciones personalizadas que usted haya hecho. El contenido
   3.524 +inicial de su fichero \sfilename{.hgrc} debería verse así.
   3.525  \begin{codesample2}
   3.526 -  # This is a Mercurial configuration file.
   3.527 +  # Este es un fichero de configuración de Mercurial.
   3.528    [ui]
   3.529 -  username = Firstname Lastname <email.address@domain.net>
   3.530 +  username = Primernombre Apellido <correo.electronico@dominio.net>
   3.531  \end{codesample2}
   3.532 -The ``\texttt{[ui]}'' line begins a \emph{section} of the config file,
   3.533 -so you can read the ``\texttt{username = ...}'' line as meaning ``set
   3.534 -the value of the \texttt{username} item in the \texttt{ui} section''.
   3.535 -A section continues until a new section begins, or the end of the
   3.536 -file.  Mercurial ignores empty lines and treats any text from
   3.537 -``\texttt{\#}'' to the end of a line as a comment.
   3.538 -
   3.539 -\subsubsection{Choosing a user name}
   3.540 -
   3.541 -You can use any text you like as the value of the \texttt{username}
   3.542 -config item, since this information is for reading by other people,
   3.543 -but for interpreting by Mercurial.  The convention that most people
   3.544 -follow is to use their name and email address, as in the example
   3.545 -above.
   3.546 +La línea ``\texttt{[ui]}'' define una \emph{section} del fichero de
   3.547 +configuración, así que usted puede leer la línea ``\texttt{username =
   3.548 +...}'' como ``defina el valor del elemento \texttt{username} en la
   3.549 +sección \texttt{ui}''.
   3.550 +Una sección continua hasta que empieza otra nueva, o se llega al final
   3.551 +del fichero. Mercurial ignora las líneas vacías y considera cualquier
   3.552 +texto desde el caracter ``\texttt{\#}'' hasta el final de la línea
   3.553 +como un comentario.
   3.554 +
   3.555 +\subsubsection{Escoger un nombre de usuario}
   3.556 +
   3.557 +Usted puede usar el texto que desee como el valor del campo de
   3.558 +configuración \texttt{username}, ya que esta información será leída
   3.559 +por otras personas, e interpretada por Mercurial. La convención que
   3.560 +sigue la mayoría de la gente es usar su nombre y dirección de correo,
   3.561 +como en el ejemplo anterior.
   3.562  
   3.563  \begin{note}
   3.564 -  Mercurial's built-in web server obfuscates email addresses, to make
   3.565 -  it more difficult for the email harvesting tools that spammers use.
   3.566 -  This reduces the likelihood that you'll start receiving more junk
   3.567 -  email if you publish a Mercurial repository on the web.
   3.568 +    % TODO web
   3.569 +    El servidor web integrado de Mercurial ofusca las direcciones de
   3.570 +    correo, para dificultar la tarea de las herramientas de
   3.571 +    recolección de direcciones de correo que usan los
   3.572 +    spammers\ndt{Personas que envían correo no solicitado, también
   3.573 +    conocido como correo basura}. Esto reduce la probabilidad de que
   3.574 +    usted empiece a recibir más correo basura si publica un
   3.575 +    repositorio en la red.
   3.576  \end{note}
   3.577  
   3.578 -\subsection{Writing a commit message}
   3.579 -
   3.580 -When we commit a change, Mercurial drops us into a text editor, to
   3.581 -enter a message that will describe the modifications we've made in
   3.582 -this changeset.  This is called the \emph{commit message}.  It will be
   3.583 -a record for readers of what we did and why, and it will be printed by
   3.584 -\hgcmd{log} after we've finished committing.
   3.585 +\subsection{Escribir un mensaje de consignación}
   3.586 +
   3.587 +Cuando consignamos un cambio, Mercurial nos ubica dentro de un editor
   3.588 +de texto, para ingresar un mensaje que describa las modificaciones que
   3.589 +hemos introducido en este conjunto de cambios. Esto es conocido como
   3.590 +un \emph{mensaje de consignación}. Será un registro de lo que hicimos
   3.591 +y porqué lo hicimos, y será impreso por \hgcmd{log} una vez hayamos
   3.592 +hecho la consignación.
   3.593  \interaction{tour.commit}
   3.594  
   3.595 -The editor that the \hgcmd{commit} command drops us into will contain
   3.596 -an empty line, followed by a number of lines starting with
   3.597 -``\texttt{HG:}''.
   3.598 +El editor en que \hgcmd{commit} nos ubica contendrá una línea vacía,
   3.599 +seguida de varias líneas que empiezan con la cadena ``\texttt{HG:}''.
   3.600  \begin{codesample2}
   3.601 -  \emph{empty line}
   3.602 +  \emph{línea vacía}
   3.603    HG: changed hello.c
   3.604  \end{codesample2}
   3.605 -Mercurial ignores the lines that start with ``\texttt{HG:}''; it uses
   3.606 -them only to tell us which files it's recording changes to.  Modifying
   3.607 -or deleting these lines has no effect.
   3.608 -
   3.609 -\subsection{Writing a good commit message}
   3.610 -
   3.611 -Since \hgcmd{log} only prints the first line of a commit message by
   3.612 -default, it's best to write a commit message whose first line stands
   3.613 -alone.  Here's a real example of a commit message that \emph{doesn't}
   3.614 -follow this guideline, and hence has a summary that is not readable.
   3.615 +Mercurial ignora las líneas que empiezan con ``\texttt{HG:}''; sólo
   3.616 +las usa para indicarnos para cuáles ficheros está registrando los
   3.617 +cambios. Modificar o borrar estas líneas no tiene ningún efecto.
   3.618 +
   3.619 +\subsection{Escribir un buen mensaje de consignación}
   3.620 +
   3.621 +Ya que por defecto \hgcmd{log} sólo muestra la primera línea de un
   3.622 +mensaje de consignación, lo mejor es escribir un mensaje cuya primera
   3.623 +línea tenga significado por sí misma. A continuación se encuentra un
   3.624 +ejemplo de un mensaje de consignación que \emph{no} sigue esta
   3.625 +pauta, y debido a ello tiene un sumario que no es legible.
   3.626  \begin{codesample2}
   3.627    changeset:   73:584af0e231be
   3.628 -  user:        Censored Person <censored.person@example.org>
   3.629 +  user:        Persona Censurada <persona.censurada@ejemplo.org>
   3.630    date:        Tue Sep 26 21:37:07 2006 -0700
   3.631 -  summary:     include buildmeister/commondefs.   Add an exports and install
   3.632 +  summary:     se incluye buildmeister/commondefs.   Añade un módulo
   3.633  \end{codesample2}
   3.634  
   3.635 -As far as the remainder of the contents of the commit message are
   3.636 -concerned, there are no hard-and-fast rules.  Mercurial itself doesn't
   3.637 -interpret or care about the contents of the commit message, though
   3.638 -your project may have policies that dictate a certain kind of
   3.639 -formatting.
   3.640 -
   3.641 -My personal preference is for short, but informative, commit messages
   3.642 -that tell me something that I can't figure out with a quick glance at
   3.643 -the output of \hgcmdargs{log}{--patch}.
   3.644 -
   3.645 -\subsection{Aborting a commit}
   3.646 -
   3.647 -If you decide that you don't want to commit while in the middle of
   3.648 -editing a commit message, simply exit from your editor without saving
   3.649 -the file that it's editing.  This will cause nothing to happen to
   3.650 -either the repository or the working directory.
   3.651 -
   3.652 -If we run the \hgcmd{commit} command without any arguments, it records
   3.653 -all of the changes we've made, as reported by \hgcmd{status} and
   3.654 -\hgcmd{diff}.
   3.655 -
   3.656 -\subsection{Admiring our new handiwork}
   3.657 -
   3.658 -Once we've finished the commit, we can use the \hgcmd{tip} command to
   3.659 -display the changeset we just created.  This command produces output
   3.660 -that is identical to \hgcmd{log}, but it only displays the newest
   3.661 -revision in the repository.
   3.662 +Con respecto al resto del contenido del mensaje de consignación, no
   3.663 +hay reglas estrictas-y-rápidas. Mercurial no interpreta ni le da
   3.664 +importancia a los contenidos del mensaje de consignación, aunque es
   3.665 +posible que su proyecto tenga políticas que definan una manera
   3.666 +particular de escribirlo.
   3.667 +
   3.668 +Mi preferencia personal es usar mensajes de consignación cortos pero
   3.669 +informativos, que me digan algo que no puedo inferir con una mirada
   3.670 +rápida a la salida de \hgcmdargs{log}{--patch}.
   3.671 +
   3.672 +\subsection{Cancelar una consignación}
   3.673 +
   3.674 +Si usted decide que no desea hacer la consignación mientras está
   3.675 +editando el mensaje de la misma, simplemente cierre su editor sin
   3.676 +guardar los cambios al fichero que está editando. Esto hará que no
   3.677 +pase nada ni en el repositorio ni en el directorio de trabajo.
   3.678 +
   3.679 +Si ejecutamos el comando \hgcmd{commit} sin ningún argumento, se
   3.680 +registran todos los cambios que hemos hecho, como lo indican
   3.681 +\hgcmd{status} y \hgcmd{diff}.
   3.682 +
   3.683 +\subsection{Admirar nuestro trabajo}
   3.684 +
   3.685 +Una vez hemos terminado la consignación, podemos usar el comando
   3.686 +\hgcmd{tip}\ndt{Punta.} para mostrar el conjunto de cambios que acabamos de crear.
   3.687 +La salida de este comando es idéntica a la de \hgcmd{log}, pero sólo
   3.688 +muestra la revisión más reciente en el repositorio.
   3.689  \interaction{tour.tip}
   3.690 -We refer to the newest revision in the repository as the tip revision,
   3.691 -or simply the tip.
   3.692 +Nos referimos a la revisión más reciente en el repositorio como la
   3.693 +revisión de punta, o simplemente la punta.
   3.694  
   3.695  \section{Sharing changes}
   3.696