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 igor@473: 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 igor@473: 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: