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