hgbook

annotate es/mq-ref.tex @ 575:bebd5ff7fe7f

And there was much tidying, and the result was good.
author Bryan O'Sullivan <bos@serpentine.com>
date Tue Mar 10 21:58:03 2009 -0700 (2009-03-10)
parents 9da096de3c52
children
rev   line source
igor@487 1 \chapter{Referencia de las Colas de Mercurial}
jerojasro@336 2 \label{chap:mqref}
jerojasro@336 3
igor@500 4 \section{Referencia de órdenes MQ}
jerojasro@336 5 \label{sec:mqref:cmdref}
jerojasro@336 6
igor@500 7 Si desea dar un vistazo a las órdenes que ofrece MQ, use la orden
jerojasro@336 8 \hgcmdargs{help}{mq}.
jerojasro@336 9
igor@487 10 \subsection{\hgxcmd{mq}{qapplied}---imprimir los parches aplicados}
igor@487 11
igor@487 12 La orden \hgxcmd{mq}{qapplied} imprime la pila actual de parches
igor@500 13 aplicados. Los parches se imprimen en orden de antigüedad, primero
igor@500 14 los más antiguos y después los más recientes, por lo tanto el último
igor@500 15 parche de la lista es el que está en el ``tope''.
igor@487 16
igor@487 17 \subsection{\hgxcmd{mq}{qcommit}---consignar cambios en la cola del repositorio}
igor@487 18
igor@487 19 La orden \hgxcmd{mq}{qcommit} consigna cualquier cambio sobresaliente
igor@487 20 en el repositorio \sdirname{.hg/patches}. Esta orden solamente
igor@487 21 funciona si el directorio \sdirname{.hg/patches} es un repositorio,
igor@500 22 p.e.~usted creó el directorio con
igor@500 23 \hgcmdargs{qinit}{\hgxopt{mq}{qinit}{-c}} o ejecutó
igor@500 24 \hgcmd{init} en el directorio después de correr \hgxcmd{mq}{qinit}.
igor@487 25
igor@487 26 Esta orden es un atajo para \hgcmdargs{commit}{--cwd .hg/patches}.
igor@487 27
igor@488 28 \subsection{\hgxcmd{mq}{qdelete}---eliminar un parche del fichero
igor@487 29 \sfilename{series}}
igor@487 30
igor@487 31 La orden \hgxcmd{mq}{qdelete} elimina la entrada del fichero
igor@487 32 \sfilename{series} para el parche en el directorio
igor@487 33 \sdirname{.hg/patches}. No sca el parche si ha sido aplicado. De
igor@500 34 forma predeterminada no borra el fichero del parche; use la opción
igor@487 35 \hgxopt{mq}{qdel}{-f} para hacerlo.
igor@487 36
igor@487 37 Opciones:
igor@487 38 \begin{itemize}
igor@487 39 \item[\hgxopt{mq}{qdel}{-f}] Elimina el fichero del parche.
igor@487 40 \end{itemize}
igor@487 41
igor@500 42 \subsection{\hgxcmd{mq}{qdiff}---imprimir la diferencia del último
igor@487 43 parche aplicado}
igor@487 44
igor@500 45 La orden \hgxcmd{mq}{qdiff} imprime un diff del parche más
igor@487 46 recientemente aplicado. Es equivalente a \hgcmdargs{diff}{-r-2:-1}.
igor@487 47
igor@488 48 \subsection{\hgxcmd{mq}{qfold}---fusionar (``integrar'') varios parches en
igor@487 49 uno solo}
igor@487 50
igor@500 51 La orden \hgxcmd{mq}{qfold} fusiona muchos parches en el último parche
igor@500 52 aplicado, de tal forma que el último parche aplicado es la unión de
igor@500 53 todos los cambios de los parches en cuestión.
igor@487 54
igor@487 55 Los parches a fusionar no deben haber sido aplicados;
igor@500 56 \hgxcmd{mq}{qfold} saldrá indicando un error si alguno ha sido
igor@487 57 aplicado. El orden en el cual los parches se pliegan es
igor@487 58 significativo; \hgcmdargs{qfold}{a b} significa ``aplique el parche
igor@500 59 más reciente, seguido de \texttt{a}, y seguido de \texttt{b}''.
igor@487 60
igor@488 61 Los comentarios de los parches integrados se colocan al final de los
igor@487 62 comentarios del parche destino, con cada bloque de comentarios
jerojasro@520 63 separado con tres asteriscos (``\texttt{*}''). Se usa la opción
igor@500 64 \hgxopt{mq}{qfold}{-e} para editar el mensaje de consignación para el
igor@500 65 conjunto de cambios/parches después de completarse el pliegue.
igor@500 66
igor@500 67 Opciones:
igor@500 68 \begin{itemize}
igor@500 69 \item[\hgxopt{mq}{qfold}{-e}] Edita el mensaje de consignación y la
igor@500 70 descripción del parche del parche que se ha integrado.
igor@487 71 \item[\hgxopt{mq}{qfold}{-l}] Usa los contenidos del fichero dado como
igor@500 72 el nuevo mensaje de consignación y descripción del parche para el
igor@488 73 parche a integrar.
igor@487 74 \item[\hgxopt{mq}{qfold}{-m}] Usa el texto dado como el mensaje de
igor@500 75 consignación y descripción del parche para el parche integrado.
igor@500 76 \end{itemize}
igor@500 77
igor@500 78 \subsection{\hgxcmd{mq}{qheader}---desplegar el encabezado/descripción
igor@488 79 de un parche}
igor@488 80
igor@500 81 La orden \hgxcmd{mq}{qheader} imprime el encabezado o descripción de
igor@500 82 un parche. De forma predeterminada, imprime el encabezado del último
igor@488 83 parche aplicado. Si se da un argumento, imprime el encabezado del
igor@488 84 parche referenciado.
igor@488 85
igor@488 86 \subsection{\hgxcmd{mq}{qimport}---importar el parche de un tercero en
igor@488 87 la cola}
igor@488 88
igor@500 89 La orden \hgxcmd{mq}{qimport} añade una entrada de un parche externo
igor@488 90 al fichero \sfilename{series} y copia el parche en el directorio
igor@500 91 \sdirname{.hg/patches}. Añade la entrada inmediatamente después del
igor@500 92 último parche aplicado, pero no introduce el parche.
igor@488 93
igor@488 94 Si el directorio \sdirname{.hg/patches} es un repositorio,
igor@500 95 \hgxcmd{mq}{qimport} automáticamente hace un \hgcmd{add} del parche
igor@488 96 importado.
igor@488 97
igor@488 98 \subsection{\hgxcmd{mq}{qinit}---preparar un repositorio para trabajar
igor@488 99 con MQ}
igor@488 100
igor@488 101 La orden \hgxcmd{mq}{qinit} prepara un repositorio para trabajar con
igor@488 102 MQ. Crea un directorio llamado \sdirname{.hg/patches}.
igor@488 103
igor@488 104 Opciones:
igor@488 105 \begin{itemize}
igor@488 106 \item[\hgxopt{mq}{qinit}{-c}] Crea \sdirname{.hg/patches} como un
igor@500 107 repositorio por sí mismo. También crea un fichero
igor@500 108 \sfilename{.hgignore} que ignorará el fichero \sfilename{status}.
igor@500 109 \end{itemize}
igor@500 110
igor@500 111 Cuando el directorio \sdirname{.hg/patches} es un repositorio, las órdenes
igor@488 112 \hgxcmd{mq}{qimport} y \hgxcmd{mq}{qnew} hacen \hgcmd{add}
igor@500 113 automáticamente a los parches nuevos.
igor@488 114
igor@488 115 \subsection{\hgxcmd{mq}{qnew}---crear un parche nuevo}
igor@488 116
igor@488 117 La orden \hgxcmd{mq}{qnew} crea un parche nuevo. Exige un argumento,
igor@500 118 el nombre que se usará para tal parche. El parche recién creado está
igor@500 119 vacío inicialmente. Se añade al fichero \sfilename{series} después
igor@500 120 del último parche aplicado, y se introduce en el tope de ese parche.
igor@488 121
igor@488 122 Si \hgxcmd{mq}{qnew} encuentra ficheros modificados en el directorio
igor@500 123 de trabajo, rehusará crear un parche nuevo a meos que se emplee
jerojasro@520 124 \hgxopt{mq}{qnew}{-f} la opción (ver más adelante). Este
igor@500 125 comportamiento le permite hacer \hgxcmd{mq}{qrefresh} al último parche
igor@488 126 aplicado antes de aplicar un parche nuevo encima de este.
igor@488 127
igor@488 128 Opciones:
igor@488 129 \begin{itemize}
igor@488 130 \item[\hgxopt{mq}{qnew}{-f}] Crea un parche nuevo si los contenidos
igor@500 131 del directorio actual han sido modificados. Cualquier modificación
igor@500 132 significativa se añade al parche recientemente creado, de tal forma
igor@500 133 que al finalizar la orden, el directorio de trabajo no lucirá
igor@488 134 modificado.
igor@488 135 \item[\hgxopt{mq}{qnew}{-m}] Usa el texto dado como el mensaje de
igor@500 136 consignación. Este texto se almacenará al principio del fichero del
igor@488 137 parche, antes de los datos del parche.
jerojasro@336 138 \end{itemize}
jerojasro@336 139
igor@500 140 \subsection{\hgxcmd{mq}{qnext}---imprimir el nombre del próximo parche}
igor@493 141
igor@493 142 La orden \hgxcmd{mq}{qnext} imprime el nombre del siguiente parche en
igor@500 143 el fichero \sfilename{series} a continuación del último parche
igor@500 144 aplicado. Este parche sería el próximo parche a aplicar si se
igor@493 145 ejecutara la orden \hgxcmd{mq}{qpush}.
igor@493 146
igor@493 147 \subsection{\hgxcmd{mq}{qpop}---sustraer parches de la pila}
igor@493 148
igor@493 149 La orden \hgxcmd{mq}{qpop} elimina los parches aplicados del tope de
igor@493 150 la pila de parches aplicados. De forma predeterminada solamente
igor@493 151 remueve un parche.
igor@493 152
igor@493 153 Esta orden elimina los conjuntos de cambios que representan los
igor@500 154 parches sustraídos del repositorio, y actualiza el directorio de
igor@493 155 trabajo para deshacer los efectos de los parches.
igor@493 156
igor@493 157 Esta orden toma un argumento opcional, que usa como el nombre o el
igor@500 158 índice del parche que desea sustraer. Si se da el nombre, sustraerá
igor@500 159 los parches hasta que el parche nombrado sea el último parche
igor@500 160 aplicado. Si se da un número, \hgxcmd{mq}{qpop} lo trata como un
igor@500 161 índice dentro del fichero \sfilename{series}, contando desde
jerojasro@520 162 cero (no cuenta las líneas vacías o aquellas que sean únicamente
igor@493 163 comentarios). Sustrae los parches hasta que el parche identificado
igor@500 164 por el índice sea el último parche aplicado.
igor@493 165
igor@493 166 La orden \hgxcmd{mq}{qpop} no lee o escribe parches en el fichero
igor@493 167 \sfilename{series}. \hgxcmd{mq}{qpop} se constituye por tanto en una
igor@493 168 forma segura de sustraer un parche del fichero \sfilename{series} o un
igor@493 169 parche que ha eliminado o renombrado completamente. En los dos
igor@500 170 últimos casos, use el nombre del parche tal como lo hizo cuando lo
igor@500 171 aplicó.
igor@500 172
igor@500 173 De forma predeterminada, la orden \hgxcmd{mq}{qpop} no sustraerá
igor@493 174 parche alguno si el directorio de trabajo ha sido modificado. Puede
igor@500 175 modificar este comportamiento con la opción \hgxopt{mq}{qpop}{-f}, que
igor@493 176 revierte todas las modificaciones del directorio de trabajo.
igor@493 177
igor@493 178 Opciones:
igor@493 179 \begin{itemize}
igor@493 180 \item[\hgxopt{mq}{qpop}{-a}] Sustrae todos los parches aplicados.
igor@493 181 Restaura el repositorio al estado antes de haber aplicado parche alguno.
igor@493 182 \item[\hgxopt{mq}{qpop}{-f}] Revertir forzadamente cualquier
igor@500 183 modificación del directorio de trabajo cuando se hace sustracciones.
igor@493 184 \item[\hgxopt{mq}{qpop}{-n}] Sustraer un parche de la cola dado un nombre.
igor@493 185 \end{itemize}
igor@493 186
igor@500 187 La orden \hgxcmd{mq}{qpop} elimina una línea del final del fichero
igor@493 188 \sfilename{status} por cada parche que se sustrae.
igor@493 189
igor@493 190 \subsection{\hgxcmd{mq}{qprev}---imprimir el nombre del parche anterior}
igor@493 191
igor@493 192 La orden \hgxcmd{mq}{qprev} imprime el nombre del parche en el fichero
igor@500 193 \sfilename{series} que está antes del último parche aplicado. Este
igor@500 194 se volverá el último parche aplicado si ejecuta \hgxcmd{mq}{qpop}.
igor@499 195
igor@499 196 \subsection{\hgxcmd{mq}{qpush}---introducir parches a la pila}
jerojasro@336 197 \label{sec:mqref:cmd:qpush}
jerojasro@336 198
igor@500 199 La orden \hgxcmd{mq}{qpush} añade parches a la pila. De forma
igor@500 200 predeterminada añade solamente un parche.
igor@499 201
igor@499 202 Esta orden crea un conjunto de cambios que representa cada parche
igor@499 203 aplicado y actualiza el directorio de trabajo aplicando los efectos de
igor@499 204 los parches.
igor@499 205
igor@499 206 Los datos predeterminados cuando se crea un conjunto de cambios
igor@499 207 corresponde a:
igor@499 208 \begin{itemize}
igor@500 209 \item La fecha de consignación y zona horaria corresponden a la hora
igor@499 210 actual de la zona. Dado que tales datos se usan para computar la
igor@499 211 identidad de un conjunto de cambios, significa que si hace
igor@499 212 \hgxcmd{mq}{qpop} a un parche y \hgxcmd{mq}{qpush} de nuevo, el
igor@500 213 conjunto de cambios que introduzca tendrá una identidad distinta a
igor@499 214 la del conjunto de cambios que sustrajo.
igor@499 215 \item El autor es el mismo que el predeterminado usado por la orden
igor@499 216 \hgcmd{commit}.
igor@500 217 \item El mensaje de consignación es cualquier texto del fichero del
igor@499 218 parche que viene antes del primer encabezado del diff. Si no hay
igor@499 219 tal texto, un mensaje predeterminado se sua para identificar el
igor@499 220 nombre del parche.
igor@499 221 \end{itemize}
igor@499 222 Su un parche contiene un encabezado de parche de Mercurial (XXX add
igor@500 223 link), la información en el encabezado del parche tiene precedencia
igor@499 224 sobre el predeterminado.
igor@499 225
igor@499 226 Opciones:
igor@499 227 \begin{itemize}
igor@499 228 \item[\hgxopt{mq}{qpush}{-a}] Introduce todos los parches que no han
igor@499 229 sido aplicados del fichero \sfilename{series} hasta que no haya nada
igor@500 230 más para introducir.
igor@500 231 \item[\hgxopt{mq}{qpush}{-l}] Añade el nombre del parche al final del
igor@500 232 mensaje de consignación
igor@499 233 \item[\hgxopt{mq}{qpush}{-m}] Si un parche no se aplica limpiamente,
igor@499 234 usa la entrada para un parche en otra cola almacenada para computar
igor@500 235 los parámetros en una fusión de tres, y aplica una fusión de tres
igor@500 236 fuentes usando la maquinaria usual de Mercurial. Usa la resolución
igor@500 237 de la fusión como el contenido del parche nuevo.
igor@500 238 \item[\hgxopt{mq}{qpush}{-n}] Usa la cola mencionada si se está
igor@500 239 fusionando en la introducción.
igor@499 240 \end{itemize}
igor@499 241
igor@499 242 La orden \hgxcmd{mq}{qpush} lee, pero no modifica el fichero
igor@500 243 \sfilename{series}. Añade al final del fichero \hgcmd{status} una
igor@500 244 línea por cada parche que se introduce.
igor@500 245
igor@500 246 \subsection{\hgxcmd{mq}{qrefresh}---actualiza el último parche aplicado}
igor@500 247
igor@500 248 La orden \hgxcmd{mq}{qrefresh} actualiza el último parche aplicado.
igor@500 249 Modifica el parche, elimina el último conjunto de cambios que
igor@500 250 representó el parche, y crea un nuevo conjunto de cambios para
igor@499 251 representar el parche modificado.
igor@499 252
igor@499 253 La orden \hgxcmd{mq}{qrefresh} busca las siguientes modificaciones:
igor@499 254 \begin{itemize}
igor@500 255 \item Los cambios al mensaje de consignación, p.e.~el texto antes del
igor@499 256 primer encabezado de diff en el fichero del parche, se replejan en
igor@499 257 el nuevo conjunto de cambios que representa el parche.
igor@499 258 \item Las modificaciones a los ficheros a los que se les da
igor@500 259 seguimiento en el directorio de trabajo se añade al parche.
jerojasro@516 260 \item Los cambios a los ficheros a los que se les da seguimiento con
igor@499 261 \hgcmd{add}, \hgcmd{copy}, \hgcmd{remove}, o \hgcmd{rename}. Se
igor@500 262 añaden al parche los ficheros añadidos, copiados y renombrados,
igor@499 263 mientras que los ficheros eliminados y las fuentes renombradas se
igor@499 264 eliminan.
igor@499 265 \end{itemize}
igor@499 266
igor@499 267 Incluso si \hgxcmd{mq}{qrefresh} no detecta cambios, de todas maneras
igor@499 268 recrea el conjunto de cambios que representa el cambio. Esto causa
igor@499 269 que la identidad del conjunto de cambios difiera del conjunto de
igor@500 270 cambios previo que identificó al parche.
igor@500 271
igor@500 272 Opciones:
igor@500 273 \begin{itemize}
igor@500 274 \item[\hgxopt{mq}{qrefresh}{-e}] Modificar la descripción de la
igor@500 275 consignación y el parche con el editor de texto preferido.
igor@500 276 \item[\hgxopt{mq}{qrefresh}{-m}] Modificar el mensaje de consignación
igor@500 277 y la descripción del parche con el texto dado.
igor@500 278 \item[\hgxopt{mq}{qrefresh}{-l}] Modificar el mensaje de consignación
igor@500 279 y la descripción del parche con el texto del fichero dado.
igor@499 280 \end{itemize}
igor@499 281
igor@499 282 \subsection{\hgxcmd{mq}{qrename}---renombrar un parche}
igor@499 283
igor@499 284 La orden \hgxcmd{mq}{qrename} renombra un parche y cambia la entrada
igor@499 285 del parche en el fichero \sfilename{series}.
igor@499 286
igor@500 287 Con un argumento sencillo, \hgxcmd{mq}{qrename} renombra el último
igor@499 288 parche aplicado. Con dos argumentos, renombra el primer argumento con
igor@499 289 el segundo.
igor@499 290
igor@499 291 \subsection{\hgxcmd{mq}{qrestore}---restaurar el estado almacenado de
igor@499 292 la cola}
jerojasro@336 293
jerojasro@336 294 XXX No idea what this does.
jerojasro@336 295
igor@499 296 \subsection{\hgxcmd{mq}{qsave}---almacena el estado actual de la cola}
jerojasro@336 297
jerojasro@336 298 XXX Likewise.
jerojasro@336 299
igor@499 300 \subsection{\hgxcmd{mq}{qseries}---imprime la serie completa de parches}
igor@499 301
igor@499 302 La orden \hgxcmd{mq}{qseries} imprime la serie completa de parches del
igor@499 303 fichero \sfilename{series}. Imprime solamente los nombres de los
igor@500 304 parches sin las líneas en blanco o comentarios. Imprime primero el
igor@500 305 primero y de último, el último aplicado.
igor@499 306
igor@499 307 \subsection{\hgxcmd{mq}{qtop}---imprime el nombre del parche actual}
igor@499 308
igor@500 309 \hgxcmd{mq}{qtop} imprime el nombre del último parche aplicado.
igor@500 310
igor@500 311 \subsection{\hgxcmd{mq}{qunapplied}---imprimir los parches que aún no
igor@499 312 se han aplicado}
igor@499 313
igor@499 314 La orden \hgxcmd{mq}{qunapplied} imprime los nombres de los parches
igor@500 315 del fichero \sfilename{series} que todavía no han sido aplicados. Los
igor@500 316 imprime de acuerdo al orden en el cual serían introducidos.
igor@500 317
igor@500 318 \subsection{\hgcmd{strip}---remover una revisión y sus descendientes}
igor@500 319
igor@500 320 La orden \hgcmd{strip} remueve una revisión, y todos sus descendientes
igor@499 321 del repositorio. Deshace los efectos de las revisiones removidas del
igor@499 322 repositorio, y actualiza el directorio de trabajo hasta el primer
igor@500 323 padre de la revisión removida.
igor@499 324
igor@499 325 La orden \hgcmd{strip} almacena una copia de segurida de los conjuntos
igor@499 326 de cambios en un agrupamiento, de forma tal que puedan ser reaplicados
igor@500 327 en caso de que se hayan removido por equivocación.
igor@499 328
igor@499 329 Opciones:
igor@499 330 \begin{itemize}
igor@499 331 \item[\hgopt{strip}{-b}] Almacenar conjuntos de cambios no
igor@499 332 relacionados que se han mezclado con los conjuntos de cambios que
igor@500 333 están en franjas con el agrupamiento de copia de seguridad.
igor@499 334 \item[\hgopt{strip}{-f}] Si una rama tiene varias ramas principales
igor@499 335 remueve todos los frentes. XXX This should be renamed, y usa
igor@499 336 \texttt{-f} para desagrupar revisiones cuando hay cambios pendientes.
igor@499 337 \item[\hgopt{strip}{-n}] No almacene la copia de seguridad agrupada.
igor@499 338 \end{itemize}
igor@499 339
igor@499 340 \section{Referencia de ficheros de MQ}
igor@499 341
igor@499 342 \subsection{El fichero \sfilename{series}}
igor@499 343
igor@499 344 El fichero \sfilename{series} contiene una lista de los nombres de
igor@499 345 todos los parches que MQ puede aplicar. Se representa como una lista
igor@500 346 de nombres, uno por línea. Se ignora el espacio en blanco al
igor@499 347 principio y al final.
igor@499 348
igor@500 349 Las líneas pueden contener comentario. Un comentario comienza con el
igor@500 350 caracter ``\texttt{\#}'', y va hasta el final de la línea. Se ignoran
igor@500 351 las líneas vacías y las que solamente contengan comentarios.
igor@500 352
igor@500 353 En algún momento podría editar el fichero \sfilename{series} a mano,
igor@500 354 por tal motivo se admiten comentarios y líneas en blanco como se
igor@499 355 menciono anteriormente. Por ejemplo, puede poner en comentario un
igor@500 356 parche temporalmente y \hgxcmd{mq}{qpush} omitirá tal parche cuando
igor@500 357 los aplique. También puede cambiar el orden en el cual se aplican los
igor@499 358 parches, reordenando las entradas en el fichero \sfilename{series}.
igor@499 359
igor@500 360 También es posible colocar el fichero \sfilename{series} bajo control
igor@500 361 de revisiones; también es favorable colocar todos los parches que refiera
igor@499 362 bajo control de revisiones. Si crea un directorio de parches con la
igor@500 363 opción \hgxopt{mq}{qinit}{-c} de \hgxcmd{mq}{qinit}, esto se hará
igor@500 364 automáticamente.
igor@499 365
igor@499 366 \subsection{El fichero \sfilename{status}}
igor@499 367
igor@499 368 El fichero \sfilename{status} contiene los nombres y los hashes de los
igor@499 369 conjuntos de cambios de todos los parches que MQ ha aplicado. A
igor@500 370 diferencia del fichero \sfilename{series}, este NO ha sido diseñado
igor@500 371 para ser editado. No debería colocar este fichero bajo el control de
igor@499 372 revisiones o modificarlo de forma alguna. MQ lo usa estrictamente
igor@500 373 para administración interna.
jerojasro@336 374
jerojasro@336 375 %%% Local Variables:
jerojasro@336 376 %%% mode: latex
jerojasro@336 377 %%% TeX-master: "00book"
jerojasro@336 378 %%% End: