Mercurial > hgbook
view es/mq-ref.tex @ 810:1a0a78e197c3
Incorporate feedback from Greg Lindahl.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Fri, 24 Apr 2009 00:27:05 -0700 |
parents | bbc5db74bd77 |
children |
line wrap: on
line source
\chapter{Referencia de las Colas de Mercurial} \label{chap:mqref} \section{Referencia de órdenes MQ} \label{sec:mqref:cmdref} Si desea dar un vistazo a las órdenes que ofrece MQ, use la orden \hgcmdargs{help}{mq}. \subsection{\hgxcmd{mq}{qapplied}---imprimir los parches aplicados} La orden \hgxcmd{mq}{qapplied} imprime la pila actual de parches aplicados. Los parches se imprimen en orden de antigüedad, primero los más antiguos y después los más recientes, por lo tanto el último parche de la lista es el que está en el ``tope''. \subsection{\hgxcmd{mq}{qcommit}---consignar cambios en la cola del repositorio} La orden \hgxcmd{mq}{qcommit} consigna cualquier cambio sobresaliente en el repositorio \sdirname{.hg/patches}. Esta orden solamente funciona si el directorio \sdirname{.hg/patches} es un repositorio, p.e.~usted creó el directorio con \hgcmdargs{qinit}{\hgxopt{mq}{qinit}{-c}} o ejecutó \hgcmd{init} en el directorio después de correr \hgxcmd{mq}{qinit}. Esta orden es un atajo para \hgcmdargs{commit}{--cwd .hg/patches}. \subsection{\hgxcmd{mq}{qdelete}---eliminar un parche del fichero \sfilename{series}} La orden \hgxcmd{mq}{qdelete} elimina la entrada del fichero \sfilename{series} para el parche en el directorio \sdirname{.hg/patches}. No sca el parche si ha sido aplicado. De forma predeterminada no borra el fichero del parche; use la opción \hgxopt{mq}{qdel}{-f} para hacerlo. Opciones: \begin{itemize} \item[\hgxopt{mq}{qdel}{-f}] Elimina el fichero del parche. \end{itemize} \subsection{\hgxcmd{mq}{qdiff}---imprimir la diferencia del último parche aplicado} La orden \hgxcmd{mq}{qdiff} imprime un diff del parche más recientemente aplicado. Es equivalente a \hgcmdargs{diff}{-r-2:-1}. \subsection{\hgxcmd{mq}{qfold}---fusionar (``integrar'') varios parches en uno solo} La orden \hgxcmd{mq}{qfold} fusiona muchos parches en el último parche aplicado, de tal forma que el último parche aplicado es la unión de todos los cambios de los parches en cuestión. Los parches a fusionar no deben haber sido aplicados; \hgxcmd{mq}{qfold} saldrá indicando un error si alguno ha sido aplicado. El orden en el cual los parches se pliegan es significativo; \hgcmdargs{qfold}{a b} significa ``aplique el parche más reciente, seguido de \texttt{a}, y seguido de \texttt{b}''. Los comentarios de los parches integrados se colocan al final de los comentarios del parche destino, con cada bloque de comentarios separado con tres asteriscos (``\texttt{*}''). Se usa la opción \hgxopt{mq}{qfold}{-e} para editar el mensaje de consignación para el conjunto de cambios/parches después de completarse el pliegue. Opciones: \begin{itemize} \item[\hgxopt{mq}{qfold}{-e}] Edita el mensaje de consignación y la descripción del parche del parche que se ha integrado. \item[\hgxopt{mq}{qfold}{-l}] Usa los contenidos del fichero dado como el nuevo mensaje de consignación y descripción del parche para el parche a integrar. \item[\hgxopt{mq}{qfold}{-m}] Usa el texto dado como el mensaje de consignación y descripción del parche para el parche integrado. \end{itemize} \subsection{\hgxcmd{mq}{qheader}---desplegar el encabezado/descripción de un parche} La orden \hgxcmd{mq}{qheader} imprime el encabezado o descripción de un parche. De forma predeterminada, imprime el encabezado del último parche aplicado. Si se da un argumento, imprime el encabezado del parche referenciado. \subsection{\hgxcmd{mq}{qimport}---importar el parche de un tercero en la cola} La orden \hgxcmd{mq}{qimport} añade una entrada de un parche externo al fichero \sfilename{series} y copia el parche en el directorio \sdirname{.hg/patches}. Añade la entrada inmediatamente después del último parche aplicado, pero no introduce el parche. Si el directorio \sdirname{.hg/patches} es un repositorio, \hgxcmd{mq}{qimport} automáticamente hace un \hgcmd{add} del parche importado. \subsection{\hgxcmd{mq}{qinit}---preparar un repositorio para trabajar con MQ} La orden \hgxcmd{mq}{qinit} prepara un repositorio para trabajar con MQ. Crea un directorio llamado \sdirname{.hg/patches}. Opciones: \begin{itemize} \item[\hgxopt{mq}{qinit}{-c}] Crea \sdirname{.hg/patches} como un repositorio por sí mismo. También crea un fichero \sfilename{.hgignore} que ignorará el fichero \sfilename{status}. \end{itemize} Cuando el directorio \sdirname{.hg/patches} es un repositorio, las órdenes \hgxcmd{mq}{qimport} y \hgxcmd{mq}{qnew} hacen \hgcmd{add} automáticamente a los parches nuevos. \subsection{\hgxcmd{mq}{qnew}---crear un parche nuevo} La orden \hgxcmd{mq}{qnew} crea un parche nuevo. Exige un argumento, el nombre que se usará para tal parche. El parche recién creado está vacío inicialmente. Se añade al fichero \sfilename{series} después del último parche aplicado, y se introduce en el tope de ese parche. Si \hgxcmd{mq}{qnew} encuentra ficheros modificados en el directorio de trabajo, rehusará crear un parche nuevo a meos que se emplee \hgxopt{mq}{qnew}{-f} la opción (ver más adelante). Este comportamiento le permite hacer \hgxcmd{mq}{qrefresh} al último parche aplicado antes de aplicar un parche nuevo encima de este. Opciones: \begin{itemize} \item[\hgxopt{mq}{qnew}{-f}] Crea un parche nuevo si los contenidos del directorio actual han sido modificados. Cualquier modificación significativa se añade al parche recientemente creado, de tal forma que al finalizar la orden, el directorio de trabajo no lucirá modificado. \item[\hgxopt{mq}{qnew}{-m}] Usa el texto dado como el mensaje de consignación. Este texto se almacenará al principio del fichero del parche, antes de los datos del parche. \end{itemize} \subsection{\hgxcmd{mq}{qnext}---imprimir el nombre del próximo parche} La orden \hgxcmd{mq}{qnext} imprime el nombre del siguiente parche en el fichero \sfilename{series} a continuación del último parche aplicado. Este parche sería el próximo parche a aplicar si se ejecutara la orden \hgxcmd{mq}{qpush}. \subsection{\hgxcmd{mq}{qpop}---sustraer parches de la pila} La orden \hgxcmd{mq}{qpop} elimina los parches aplicados del tope de la pila de parches aplicados. De forma predeterminada solamente remueve un parche. Esta orden elimina los conjuntos de cambios que representan los parches sustraídos del repositorio, y actualiza el directorio de trabajo para deshacer los efectos de los parches. Esta orden toma un argumento opcional, que usa como el nombre o el índice del parche que desea sustraer. Si se da el nombre, sustraerá los parches hasta que el parche nombrado sea el último parche aplicado. Si se da un número, \hgxcmd{mq}{qpop} lo trata como un índice dentro del fichero \sfilename{series}, contando desde cero (no cuenta las líneas vacías o aquellas que sean únicamente comentarios). Sustrae los parches hasta que el parche identificado por el índice sea el último parche aplicado. La orden \hgxcmd{mq}{qpop} no lee o escribe parches en el fichero \sfilename{series}. \hgxcmd{mq}{qpop} se constituye por tanto en una forma segura de sustraer un parche del fichero \sfilename{series} o un parche que ha eliminado o renombrado completamente. En los dos últimos casos, use el nombre del parche tal como lo hizo cuando lo aplicó. De forma predeterminada, la orden \hgxcmd{mq}{qpop} no sustraerá parche alguno si el directorio de trabajo ha sido modificado. Puede modificar este comportamiento con la opción \hgxopt{mq}{qpop}{-f}, que revierte todas las modificaciones del directorio de trabajo. Opciones: \begin{itemize} \item[\hgxopt{mq}{qpop}{-a}] Sustrae todos los parches aplicados. Restaura el repositorio al estado antes de haber aplicado parche alguno. \item[\hgxopt{mq}{qpop}{-f}] Revertir forzadamente cualquier modificación del directorio de trabajo cuando se hace sustracciones. \item[\hgxopt{mq}{qpop}{-n}] Sustraer un parche de la cola dado un nombre. \end{itemize} La orden \hgxcmd{mq}{qpop} elimina una línea del final del fichero \sfilename{status} por cada parche que se sustrae. \subsection{\hgxcmd{mq}{qprev}---imprimir el nombre del parche anterior} La orden \hgxcmd{mq}{qprev} imprime el nombre del parche en el fichero \sfilename{series} que está antes del último parche aplicado. Este se volverá el último parche aplicado si ejecuta \hgxcmd{mq}{qpop}. \subsection{\hgxcmd{mq}{qpush}---introducir parches a la pila} \label{sec:mqref:cmd:qpush} La orden \hgxcmd{mq}{qpush} añade parches a la pila. De forma predeterminada añade solamente un parche. Esta orden crea un conjunto de cambios que representa cada parche aplicado y actualiza el directorio de trabajo aplicando los efectos de los parches. Los datos predeterminados cuando se crea un conjunto de cambios corresponde a: \begin{itemize} \item La fecha de consignación y zona horaria corresponden a la hora actual de la zona. Dado que tales datos se usan para computar la identidad de un conjunto de cambios, significa que si hace \hgxcmd{mq}{qpop} a un parche y \hgxcmd{mq}{qpush} de nuevo, el conjunto de cambios que introduzca tendrá una identidad distinta a la del conjunto de cambios que sustrajo. \item El autor es el mismo que el predeterminado usado por la orden \hgcmd{commit}. \item El mensaje de consignación es cualquier texto del fichero del parche que viene antes del primer encabezado del diff. Si no hay tal texto, un mensaje predeterminado se sua para identificar el nombre del parche. \end{itemize} Su un parche contiene un encabezado de parche de Mercurial (XXX add link), la información en el encabezado del parche tiene precedencia sobre el predeterminado. Opciones: \begin{itemize} \item[\hgxopt{mq}{qpush}{-a}] Introduce todos los parches que no han sido aplicados del fichero \sfilename{series} hasta que no haya nada más para introducir. \item[\hgxopt{mq}{qpush}{-l}] Añade el nombre del parche al final del mensaje de consignación \item[\hgxopt{mq}{qpush}{-m}] Si un parche no se aplica limpiamente, usa la entrada para un parche en otra cola almacenada para computar los parámetros en una fusión de tres, y aplica una fusión de tres fuentes usando la maquinaria usual de Mercurial. Usa la resolución de la fusión como el contenido del parche nuevo. \item[\hgxopt{mq}{qpush}{-n}] Usa la cola mencionada si se está fusionando en la introducción. \end{itemize} La orden \hgxcmd{mq}{qpush} lee, pero no modifica el fichero \sfilename{series}. Añade al final del fichero \hgcmd{status} una línea por cada parche que se introduce. \subsection{\hgxcmd{mq}{qrefresh}---actualiza el último parche aplicado} La orden \hgxcmd{mq}{qrefresh} actualiza el último parche aplicado. Modifica el parche, elimina el último conjunto de cambios que representó el parche, y crea un nuevo conjunto de cambios para representar el parche modificado. La orden \hgxcmd{mq}{qrefresh} busca las siguientes modificaciones: \begin{itemize} \item Los cambios al mensaje de consignación, p.e.~el texto antes del primer encabezado de diff en el fichero del parche, se replejan en el nuevo conjunto de cambios que representa el parche. \item Las modificaciones a los ficheros a los que se les da seguimiento en el directorio de trabajo se añade al parche. \item Los cambios a los ficheros a los que se les da seguimiento con \hgcmd{add}, \hgcmd{copy}, \hgcmd{remove}, o \hgcmd{rename}. Se añaden al parche los ficheros añadidos, copiados y renombrados, mientras que los ficheros eliminados y las fuentes renombradas se eliminan. \end{itemize} Incluso si \hgxcmd{mq}{qrefresh} no detecta cambios, de todas maneras recrea el conjunto de cambios que representa el cambio. Esto causa que la identidad del conjunto de cambios difiera del conjunto de cambios previo que identificó al parche. Opciones: \begin{itemize} \item[\hgxopt{mq}{qrefresh}{-e}] Modificar la descripción de la consignación y el parche con el editor de texto preferido. \item[\hgxopt{mq}{qrefresh}{-m}] Modificar el mensaje de consignación y la descripción del parche con el texto dado. \item[\hgxopt{mq}{qrefresh}{-l}] Modificar el mensaje de consignación y la descripción del parche con el texto del fichero dado. \end{itemize} \subsection{\hgxcmd{mq}{qrename}---renombrar un parche} La orden \hgxcmd{mq}{qrename} renombra un parche y cambia la entrada del parche en el fichero \sfilename{series}. Con un argumento sencillo, \hgxcmd{mq}{qrename} renombra el último parche aplicado. Con dos argumentos, renombra el primer argumento con el segundo. \subsection{\hgxcmd{mq}{qrestore}---restaurar el estado almacenado de la cola} XXX No idea what this does. \subsection{\hgxcmd{mq}{qsave}---almacena el estado actual de la cola} XXX Likewise. \subsection{\hgxcmd{mq}{qseries}---imprime la serie completa de parches} La orden \hgxcmd{mq}{qseries} imprime la serie completa de parches del fichero \sfilename{series}. Imprime solamente los nombres de los parches sin las líneas en blanco o comentarios. Imprime primero el primero y de último, el último aplicado. \subsection{\hgxcmd{mq}{qtop}---imprime el nombre del parche actual} \hgxcmd{mq}{qtop} imprime el nombre del último parche aplicado. \subsection{\hgxcmd{mq}{qunapplied}---imprimir los parches que aún no se han aplicado} La orden \hgxcmd{mq}{qunapplied} imprime los nombres de los parches del fichero \sfilename{series} que todavía no han sido aplicados. Los imprime de acuerdo al orden en el cual serían introducidos. \subsection{\hgcmd{strip}---remover una revisión y sus descendientes} La orden \hgcmd{strip} remueve una revisión, y todos sus descendientes del repositorio. Deshace los efectos de las revisiones removidas del repositorio, y actualiza el directorio de trabajo hasta el primer padre de la revisión removida. La orden \hgcmd{strip} almacena una copia de segurida de los conjuntos de cambios en un agrupamiento, de forma tal que puedan ser reaplicados en caso de que se hayan removido por equivocación. Opciones: \begin{itemize} \item[\hgopt{strip}{-b}] Almacenar conjuntos de cambios no relacionados que se han mezclado con los conjuntos de cambios que están en franjas con el agrupamiento de copia de seguridad. \item[\hgopt{strip}{-f}] Si una rama tiene varias ramas principales remueve todos los frentes. XXX This should be renamed, y usa \texttt{-f} para desagrupar revisiones cuando hay cambios pendientes. \item[\hgopt{strip}{-n}] No almacene la copia de seguridad agrupada. \end{itemize} \section{Referencia de ficheros de MQ} \subsection{El fichero \sfilename{series}} El fichero \sfilename{series} contiene una lista de los nombres de todos los parches que MQ puede aplicar. Se representa como una lista de nombres, uno por línea. Se ignora el espacio en blanco al principio y al final. Las líneas pueden contener comentario. Un comentario comienza con el caracter ``\texttt{\#}'', y va hasta el final de la línea. Se ignoran las líneas vacías y las que solamente contengan comentarios. En algún momento podría editar el fichero \sfilename{series} a mano, por tal motivo se admiten comentarios y líneas en blanco como se menciono anteriormente. Por ejemplo, puede poner en comentario un parche temporalmente y \hgxcmd{mq}{qpush} omitirá tal parche cuando los aplique. También puede cambiar el orden en el cual se aplican los parches, reordenando las entradas en el fichero \sfilename{series}. También es posible colocar el fichero \sfilename{series} bajo control de revisiones; también es favorable colocar todos los parches que refiera bajo control de revisiones. Si crea un directorio de parches con la opción \hgxopt{mq}{qinit}{-c} de \hgxcmd{mq}{qinit}, esto se hará automáticamente. \subsection{El fichero \sfilename{status}} El fichero \sfilename{status} contiene los nombres y los hashes de los conjuntos de cambios de todos los parches que MQ ha aplicado. A diferencia del fichero \sfilename{series}, este NO ha sido diseñado para ser editado. No debería colocar este fichero bajo el control de revisiones o modificarlo de forma alguna. MQ lo usa estrictamente para administración interna. %%% Local Variables: %%% mode: latex %%% TeX-master: "00book" %%% End: