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




