Mercurial > hgbook
view es/mq-ref.tex @ 592:26fb9b724588
translated some paragraphs to spanish from mq-ref.tex
author | Igor Támara <igor@tamarapatino.org> |
---|---|
date | Wed, 07 Jan 2009 23:47:09 -0500 |
parents | 419853691d11 |
children | 3e176d56ab84 |
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}---push patches onto the stack} \label{sec:mqref:cmd:qpush} The \hgxcmd{mq}{qpush} command adds patches onto the applied stack. By default, it adds only one patch. This command creates a new changeset to represent each applied patch, and updates the working directory to apply the effects of the patches. The default data used when creating a changeset are as follows: \begin{itemize} \item The commit date and time zone are the current date and time zone. Because these data are used to compute the identity of a changeset, this means that if you \hgxcmd{mq}{qpop} a patch and \hgxcmd{mq}{qpush} it again, the changeset that you push will have a different identity than the changeset you popped. \item The author is the same as the default used by the \hgcmd{commit} command. \item The commit message is any text from the patch file that comes before the first diff header. If there is no such text, a default commit message is used that identifies the name of the patch. \end{itemize} If a patch contains a Mercurial patch header (XXX add link), the information in the patch header overrides these defaults. Options: \begin{itemize} \item[\hgxopt{mq}{qpush}{-a}] Push all unapplied patches from the \sfilename{series} file until there are none left to push. \item[\hgxopt{mq}{qpush}{-l}] Add the name of the patch to the end of the commit message. \item[\hgxopt{mq}{qpush}{-m}] If a patch fails to apply cleanly, use the entry for the patch in another saved queue to compute the parameters for a three-way merge, and perform a three-way merge using the normal Mercurial merge machinery. Use the resolution of the merge as the new patch content. \item[\hgxopt{mq}{qpush}{-n}] Use the named queue if merging while pushing. \end{itemize} The \hgxcmd{mq}{qpush} command reads, but does not modify, the \sfilename{series} file. It appends one line to the \hgcmd{status} file for each patch that it pushes. \subsection{\hgxcmd{mq}{qrefresh}---update the topmost applied patch} The \hgxcmd{mq}{qrefresh} command updates the topmost applied patch. It modifies the patch, removes the old changeset that represented the patch, and creates a new changeset to represent the modified patch. The \hgxcmd{mq}{qrefresh} command looks for the following modifications: \begin{itemize} \item Changes to the commit message, i.e.~the text before the first diff header in the patch file, are reflected in the new changeset that represents the patch. \item Modifications to tracked files in the working directory are added to the patch. \item Changes to the files tracked using \hgcmd{add}, \hgcmd{copy}, \hgcmd{remove}, or \hgcmd{rename}. Added files and copy and rename destinations are added to the patch, while removed files and rename sources are removed. \end{itemize} Even if \hgxcmd{mq}{qrefresh} detects no changes, it still recreates the changeset that represents the patch. This causes the identity of the changeset to differ from the previous changeset that identified the patch. Options: \begin{itemize} \item[\hgxopt{mq}{qrefresh}{-e}] Modify the commit and patch description, using the preferred text editor. \item[\hgxopt{mq}{qrefresh}{-m}] Modify the commit message and patch description, using the given text. \item[\hgxopt{mq}{qrefresh}{-l}] Modify the commit message and patch description, using text from the given file. \end{itemize} \subsection{\hgxcmd{mq}{qrename}---rename a patch} The \hgxcmd{mq}{qrename} command renames a patch, and changes the entry for the patch in the \sfilename{series} file. With a single argument, \hgxcmd{mq}{qrename} renames the topmost applied patch. With two arguments, it renames its first argument to its second. \subsection{\hgxcmd{mq}{qrestore}---restore saved queue state} XXX No idea what this does. \subsection{\hgxcmd{mq}{qsave}---save current queue state} XXX Likewise. \subsection{\hgxcmd{mq}{qseries}---print the entire patch series} The \hgxcmd{mq}{qseries} command prints the entire patch series from the \sfilename{series} file. It prints only patch names, not empty lines or comments. It prints in order from first to be applied to last. \subsection{\hgxcmd{mq}{qtop}---print the name of the current patch} The \hgxcmd{mq}{qtop} prints the name of the topmost currently applied patch. \subsection{\hgxcmd{mq}{qunapplied}---print patches not yet applied} The \hgxcmd{mq}{qunapplied} command prints the names of patches from the \sfilename{series} file that are not yet applied. It prints them in order from the next patch that will be pushed to the last. \subsection{\hgcmd{strip}---remove a revision and descendants} The \hgcmd{strip} command removes a revision, and all of its descendants, from the repository. It undoes the effects of the removed revisions from the repository, and updates the working directory to the first parent of the removed revision. The \hgcmd{strip} command saves a backup of the removed changesets in a bundle, so that they can be reapplied if removed in error. Options: \begin{itemize} \item[\hgopt{strip}{-b}] Save unrelated changesets that are intermixed with the stripped changesets in the backup bundle. \item[\hgopt{strip}{-f}] If a branch has multiple heads, remove all heads. XXX This should be renamed, and use \texttt{-f} to strip revs when there are pending changes. \item[\hgopt{strip}{-n}] Do not save a backup bundle. \end{itemize} \section{MQ file reference} \subsection{The \sfilename{series} file} The \sfilename{series} file contains a list of the names of all patches that MQ can apply. It is represented as a list of names, with one name saved per line. Leading and trailing white space in each line are ignored. Lines may contain comments. A comment begins with the ``\texttt{\#}'' character, and extends to the end of the line. Empty lines, and lines that contain only comments, are ignored. You will often need to edit the \sfilename{series} file by hand, hence the support for comments and empty lines noted above. For example, you can comment out a patch temporarily, and \hgxcmd{mq}{qpush} will skip over that patch when applying patches. You can also change the order in which patches are applied by reordering their entries in the \sfilename{series} file. Placing the \sfilename{series} file under revision control is also supported; it is a good idea to place all of the patches that it refers to under revision control, as well. If you create a patch directory using the \hgxopt{mq}{qinit}{-c} option to \hgxcmd{mq}{qinit}, this will be done for you automatically. \subsection{The \sfilename{status} file} The \sfilename{status} file contains the names and changeset hashes of all patches that MQ currently has applied. Unlike the \sfilename{series} file, this file is not intended for editing. You should not place this file under revision control, or modify it in any way. It is used by MQ strictly for internal book-keeping. %%% Local Variables: %%% mode: latex %%% TeX-master: "00book" %%% End: