igor@473: \chapter{Referencia de Órdenes}
igor@402: \label{cmdref}
igor@402: 
igor@473: \cmdref{add}{Añade ficheros en la próxima consignación}
igor@402: \optref{add}{I}{include}
igor@402: \optref{add}{X}{exclude}
igor@402: \optref{add}{n}{dry-run}
igor@402: 
jerojasro@516: \cmdref{diff}{imprime los cambios en el historial o el directorio actual}
igor@402: 
igor@473: Mostrar las diferencias entre revisiones para ficheros especificados o
igor@473: directorios, con el formato unificado diff.  Si desea ver una
igor@473: descripción del formato unificado diff, ver la sección~\ref{sec:mq:patch}.
igor@402: 
igor@473: De forma predeterminada, esta orden no imprime las diferencias para
jerojasro@516: los ficheros binarios que Mercurial esté siguiendo.  Para controlar
igor@473: este comportamiento, vea las opciones \hgopt{diff}{-a} y
igor@473: \hgopt{diff}{--git}.
igor@402: 
igor@402: \subsection{Options}
igor@402: 
igor@402: \loptref{diff}{nodates}
igor@402: 
igor@473: Omite la fecha y hora cuando se muestran los encabezados de las
igor@473: diferencias.
igor@402: 
igor@402: \optref{diff}{B}{ignore-blank-lines}
igor@402: 
igor@473: No imprime los cambios que solamente insertan o eliminan líneas en
igor@473: blanco.  Una línea que contiene espacios en blanco no se considera
igor@473: como una línea en blanco.
igor@402: 
igor@402: \optref{diff}{I}{include}
igor@402: 
igor@473: Incluye ficheros y directorios cuyos nombres coinciden con los
igor@473: patrones elegidos.
igor@402: 
igor@402: \optref{diff}{X}{exclude}
igor@402: 
igor@473: Excluye los ficheros y directorios cuyos nombres coinciden con los
igor@473: patrones elegidos.
igor@402: 
igor@402: \optref{diff}{a}{text}
igor@402: 
igor@473: Si no especifica esta opción, \hgcmd{diff} no mostrará las diferencias
igor@473: de los ficheros que detecte como binarios.  Al especificar \hgopt{diff}{-a}
igor@473: se forza a \hgcmd{diff} a tratar los ficheros como texto, y generar
igor@473: diferencias para todos.
igor@402: 
igor@473: Esta opción es útil para los ficherso que son ``texto en mayor
igor@473: medida'' pero que tienen caracteres NUL.  Si lo usa en ficheros que
igor@473: contienen muchos datos binarios, la salida será incomprensible.
igor@402: 
igor@402: \optref{diff}{b}{ignore-space-change}
igor@402: 
igor@473: No imprime si el único cambio que en la línea es la cantidad de
igor@473: espacio en blanco.
igor@402: 
igor@402: \optref{diff}{g}{git}
igor@402: 
igor@473: Mostrar diferencias compatibles con \command{git}.  XXX reference a format
igor@402: description.
igor@402: 
igor@402: \optref{diff}{p}{show-function}
igor@402: 
igor@473: Mostrar el nombre de la función que contiene el código en una porción
igor@473: del encabzado usando una heurística simple.  Esta funcionalidad se
igor@473: habilita de forma predeterminada, así que la opción \hgopt{diff}{-p}
igor@473: no tiene efectos a menos que cambie el valor de
igor@473: \rcitem{diff}{showfunc} en la configuración, como en el ejemplo
igor@473: siguiente.
igor@402: \interaction{cmdref.diff-p}
igor@402: 
igor@402: \optref{diff}{r}{rev}
igor@402: 
igor@473: Especifique una o más revisiones para comparar.  La orden \hgcmd{diff}
igor@473: acepta hasta dos opciones \hgopt{diff}{-r} para especificar las
igor@473: revisiones a comparar.
igor@402: 
igor@402: \begin{enumerate}
igor@402: \setcounter{enumi}{0}
igor@473: \item Despliega las diferencias entre la revisión padre y del directorio
igor@473:   de trabajo.
igor@473: \item Despliega las diferencias entre el conjunto de cambios
igor@473:   especificados y el directorio de trabajo.
igor@473: \item Despliega las diferencias entre dos conjuntos de cambios
igor@473:   especificados.
igor@402: \end{enumerate}
igor@402: 
igor@473: Puede especificar dos revisiones usando o bien sea las opciones
igor@473: \hgopt{diff}{-r} o la notación de rango.  Por ejemplo, las dos
igor@473: especificaciones de revisiones a continuación son equivalentes:
igor@402: \begin{codesample2}
igor@402:   hg diff -r 10 -r 20
igor@402:   hg diff -r10:20
igor@402: \end{codesample2}
igor@402: 
igor@473: Cuando especifica dos revisiones, esto tiene significado para
igor@473: Mercurial.  Esto significa que \hgcmdargs{diff}{-r10:20} producirá un
igor@473: diff que transformará los ficheros desde los contenidos en la revisión
igor@473: 10 a los contenidos de la revisión 20, mientras que
igor@473: \hgcmdargs{diff}{-r20:10} significa lo opuesto:  el diff que
igor@473: transformaría los contenidos de los ficheros de la revisión 20 a los
igor@473: contenidos de la revisión 10.  No puede invertir el orden de esta
igor@473: forma si está haciendo un diff frente al directorio de trabajo.
igor@402: 
igor@402: \optref{diff}{w}{ignore-all-space}
igor@402: 
igor@473: \cmdref{version}{imprime la información de versión y derechos de reproducción}
igor@402: 
igor@473: Esta orden despliega la versión de Mercurial que está usando, y su
igor@473: nota de derechos de reproducción.  Hay cuatro clases de cadenas de
igor@473: versión posibles:
igor@402: \begin{itemize}
igor@473: \item La cadena ``\texttt{unknown}''. Esta versión de Mercurial no fue
igor@473:   construida en un repositorio de Mercurial, y no puede determinar su
igor@473:   propia versión.
igor@473: \item Una cadena numérica corta, tal como ``\texttt{1.1}''. Esta es
igor@473:   una construcción de una versión de Mercurial que se identifica con
igor@473:   una etiqueta específica en el repositorio en el cual fue
jerojasro@520:   armada (Esto no significa necesariamente que está ejecutando una
igor@473:   versión oficial; alguien pudo haber añadido tal etiqueta a cualquier
igor@473:   versión del repositorio en el cual armaron Mercurial).
igor@473: \item Una cadena hexadecimal, tal como ``\texttt{875489e31abe}''.
igor@473:   Esta es una construcción de una revisión dada de Mercurial.
igor@473: \item Una cadena hexadecimal seguida por una fecha, tal como
igor@473:   ``\texttt{875489e31abe+20070205}''.  Esta construcción de la
igor@473:   revisión de Mercurial fue la construcción de un repositorio que tuvo
igor@473:   cambios locales que no han sido consignados.
igor@402: \end{itemize}
igor@402: 
igor@473: \subsection{Consejos y trucos}
igor@402: 
igor@473: \subsubsection{¿Por qué difieren los resultados de \hgcmd{diff} y
igor@473:   \hgcmd{status}?}
igor@402: \label{cmdref:diff-vs-status}
igor@402: 
igor@473: Cuando ejecuta la orden \hgcmd{status}, verá una lista de ficheros
igor@473: para los cuales Mercurial almacenará cambios la próxima vez que
igor@473: consigne.  Si ejecuta la orden \hgcmd{diff}, verá que imprime
igor@473: diferencias solamente para un \emph{subconjunto} de los ficheros que
igor@473: \hgcmd{status} liste.  Hay dos posibles razones para este comportamiento:
igor@402: 
igor@473: La primera es que \hgcmd{status} imprime cierta clase de
igor@473: modificaciones que \hgcmd{diff} no despliega normalmente.  La orden
igor@473: \hgcmd{diff} usualmente despliega diferencias unificadas, las cuales
igor@473: no tienen la habilidad de representar algunos cambios que Mercurial
igor@473: puede seguir.  Lo más notable es que las diferencias tradicionales no
igor@473: pueden representar un cambio acerca de la ejecutabilidad de un
igor@473: fichero, pero Mercurial sí almacena esta información.
igor@402: 
igor@473: Si usa la opción \hgopt{diff}{--git} de \hgcmd{diff}, mostrará
igor@473: diferencias compatibles con \command{git} que \emph{pueden} desplegar
igor@473: esta información adicional.
igor@402: 
igor@473: La segunda razón posible para que \hgcmd{diff} esté imprimiendo
igor@473: diferencias para un subconjunto de ficheros de lo que muestra
igor@473: \hgcmd{status} es que si usted le invoca sin argumento alguno,
igor@473: \hgcmd{diff} imprime diferencias frente al primer padre del directorio
igor@473: de trabajo.  Si ha ejecutado \hgcmd{merge} para fusionar dos conjuntos
igor@473: de cambios, pero no ha consignado aún los resultados de la fusión,  su
jerojasro@520: directorio de trabajo tiene dos padres (use \hgcmd{parents} para
igor@473: verlos).  Mientras que \hgcmd{status} imprime modificaciones relativas
igor@473: a \emph{ambos} padres después de una fusión que no se ha consignado,
igor@473: \hgcmd{diff} opera aún relativo solamente al primer padre.  Puede
igor@473: lograr que imprima las diferencias relativas al segundo padre
igor@473: especificando tal padre con la opción \hgopt{diff}{-r}.  No hay forma
igor@473: de hacer que imprima las diferencias relativas a los dos padres.
igor@402: 
igor@473: \subsubsection{Generar diferencias seguras en binarios}
igor@402: 
igor@473: Si usa la opción \hgopt{diff}{-a} para forzar que Mercurial imprima
igor@473: las diferencias de los ficheros que so o bien ``casi completamente
igor@473: texto'' o contienen muchos datos binarios, tales diferencias no pueden
igor@473: aplicarse subsecuentemente a la orden \hgcmd{import} de Mercurial o a
igor@473: la orden \command{patch} del sistema.
igor@402: 
igor@473: Si desea generar una diferencia de un fichero binario que es seguro
igor@473: para usarlo como entrada a la orden \hgcmd{import}, use la opción
igor@473: \hgcmd{diff}{--git} cuando genere el parche.  La orden \command{patch}
igor@473: del sistema no puede tratar con parches binarios.
igor@402: 
igor@402: %%% Local Variables: 
igor@402: %%% mode: latex
igor@402: %%% TeX-master: "00book"
igor@402: %%% End: