diff, compare
El comando diff o compare realiza una comparación en paralelo de dos archivos, directorios o URL. Las entidades que se comparan pueden ser de diferentes tipos (por ejemplo, se puede comparar una URL de archivo como http://server/file.txt con una ruta de archivo como C:\file.txt). Tenga en cuenta que es válido para comparar archivos con URL, por ejemplo, pero no archivos y directorios (o direcciones URL y directorios). La función de comparación admite documentos de Microsoft Word 2003 o superior(.docx, .dotx). Consulte Comparación de documentos de Word.
La mayoría de las veces, una comparación implica comparar un lado «izquierdo» y un lado «derecho». Sin embargo, las comparaciones a tres bandas también son posibles cuando se comparan archivos o direcciones URL, pero no directorios. Los archivos o directorios que se comparan pueden estar todos en un equipo de DiffDog Server o en un equipo cliente de DiffDog. También puede comparar archivos o directorios locales con archivos o directorios remotos. Para ver ejemplos, lea Ejecutar comparaciones .
Resultado de la comparación
El formato del resultado de la comparación puede ser texto, XML o HTML y se selecciona con la opción --output-mode. Por defecto, el resultado no es silencioso. Es decir, el resultado aparecerá en la línea de comandos. Configure la opción --quiet como true para suprimir la presentación de los resultados en la línea de comandos. El resultado también se puede enviar a un archivo gracias a la opción --output-file. Consejo: Si obtiene un archivo de resultados vacío, intente cambiar la opción --mode, que especifica el tipo de comparación que se debe hacer.
Sintaxis
diffdogserver diff [opciones] {path [ruta]}
diffdogcmdlclient diff [opciones] {path [ruta]}
Notas
•Una ruta puede ser una ruta de archivo o directorio, o una ruta de URL en el formato http://servidor/segmento.
•Puede proporcionar dos rutas o tres rutas como argumentos.
•Las rutas no solo se indican como argumento. También mediante la configuración de las opciones --client-left, --client-right o --server-left, --server-right (ver más abajo). Utilice la segunda alternativa si el cliente no se ejecuta en el mismo equipo que DiffDog Server.
•Las rutas no deben especificarse como una mezcla de argumentos y opciones; deben utilizarse o argumentos u opciones.
•El argumento job se puede especificar más de una vez para ejecutar múltiples trabajos de comparación de BD en una sola ejecución del comando.
•Las opciones --server y --port solo se utilizan con diffdogcmdlclient. Especifican los detalles de conexión del servidor.
Opciones
A continuación se enumeran las opciones en orden alfabético. Puede especificar valores predeterminados para la mayoría de estas opciones en el archivo de configuración del cliente. Si utiliza un archivo de configuración de cliente, tenga en cuenta lo siguiente:
•Cuando una opción está configurada en la línea de comandos, pero se excluye por medio de un comentario en el archivo de configuración del cliente, entonces se aplica la opción de línea de comandos.
•Cuando una opción está configurada tanto en la línea de comandos como en un archivo de configuración del cliente, entonces se aplica la opción de la línea de comandos.
•Cuando una opción no está configurada en la línea de comandos, pero está configurada (sin comentarios) en el archivo de configuración, entonces se aplica la opción del archivo de configuración.
•Cuando una opción no está configurada ni en la línea de comandos ni en el archivo de configuración, entonces toma el valor predeterminado como se describe en la ayuda de la línea de comandos y en la documentación siguiente.
Si el administrador del servidor ha restringido el acceso a las rutas de acceso del servidor por razones de seguridad, las comparaciones no pueden usar las rutas de acceso de archivos del servidor directamente, sino que deben usar un alias ya asignado por el administrador del servidor. Esto se hace especificando el alias en la opción --alias (de los comandos diff, compare y run, import, load). Consulte Alias para carpetas del servidor para obtener más información sobre esta característica.
Esta opción es importante si la comparación implica una ruta de servidor (es decir, si se han configurado las opciones--server-left or --server-right). Los valores válidos para esta opción son los alias definidos en el archivo de configuración del servidor . Para generar la lista de alias disponibles, ejecute el comando aliases. Para ver más información, consulte Restringir el acceso a las rutas de servidor.
|
Especifica el lado izquierdo de la comparación. Debe ser una ruta a un archivo o directorio local.
|
En una comparación a tres bandas, especifica la ruta local al archivo en la posición intermedia.
|
Especifica el lado derecho de la comparación. Debe ser una ruta a un archivo o directorio local.
|
Especifica la ruta de acceso a un archivo de configuración de cliente que contiene la información de datadiff y los detalles de la conexión a DiffDog Server.
Si no configura la opción --c, entonces diffdogcmdlclient intenta leer el archivo de configuración del cliente desde el mismo directorio que el ejecutable. Si no hay ningún archivo de configuración en el mismo directorio, se utilizan los valores predeterminados que muestra el comando showcfg de la línea de comandos (los mismos valores del tema Archivo de configuración del cliente).
|
Especifica si una comparación de directorios debe comparar el contenido del archivo además de otras opciones que se puedan configurar por separado, como el tamaño del archivo o la fecha de modificación. Cuando se configura como false, la comparación ignora el contenido del archivo, lo que implica una comparación más rápida, pero menos precisa. El valor predeterminado de esta opción es false.
|
Se utiliza para las comparaciones de directorios. Indica que la comparación de directorios debe ignorar el número dado de segundos (+/-) al comparar las horas de modificación. Su valor predeterminado es 0, lo que significa que la comparación no ignorará las diferencias en la hora de modificación.
|
Se utiliza para las comparaciones de directorios. El valor predeterminado es false, lo que significa que se hace una comparación que distingue entre mayúsculas y minúsculas.
|
Se utiliza para las comparaciones de directorios. Si se configura como true, las comparaciones de directorios tienen en cuenta el tamaño del archivo. De lo contrario, el tamaño del archivo se ignora. El valor predeterminado es false.
|
Se utiliza para las comparaciones de directorios. Si se configura como true, las comparaciones de directorios tienen en cuenta la hora de modificación. De lo contrario, la hora de modificación se ignora. El valor predeterminado es false.
|
Esta opción se utiliza para comparaciones de directorios. Los filtros de directorios le permiten incluir o excluir ciertos archivos o subdirectorios de la comparación conforme al criterio que describa. Los valores válidos para esta opción son los filtros de directorio que se definen en el archivo de configuración del cliente, en el grupo [dir.filter]. Por ejemplo, si el archivo de configuración define un filtro [dir.filter:svn], la configuración equivalente en la línea de comandos sería la opción: --directory-filter=svn
En Windows, si DiffDog está instalado en el mismo equipo que DiffDog Server, puede especificar además cualquier filtro de directorio que ya exista en DiffDog (incluidos los filtros integrados y los personalizados). Por ejemplo, para configurar el filtro integrado Sin directorios de SVN en la línea de comandos, utilice esto: --directory-filter="Sin directorios de SVN"
Para más información sobre la creación de filtros de directorios con DiffDog, consulte la documentación de DiffDog.
Nota: Si no se puede encontrar el filtro, se produce un error y no se hace ninguna comparación.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta la negrita. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta el color de la fuente. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta el nombre de la fuente. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta el tamaño de la fuente. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta la cursiva. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza para la comparación de documentos de Word. Si se configura como true, las comparaciones tienen en cuenta el subrayado. De lo contrario, se ignora. El valor predeterminado es false.
|
Se utiliza en la comparación de documentos de Word o de directorios que contienen documentos de Word. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de Word de ese directorio. Si se configura como true, la comparación ignorará las líneas en blanco. De lo contrario, las tendrá en cuenta. El valor predeterminado es false.
|
Se utiliza en la comparación de documentos de Word o de directorios que contienen documentos de Word. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de Word de ese directorio. Si se configura como true, la comparación ignorará las mayús/minús. De lo contrario, las tendrá en cuenta. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de documentos de Word o de directorios que contienen documentos de Word. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de Word de ese directorio.
Define cómo deben tratarse en la comparación los espacios en blanco. Se consideran espacios en blanco todos estos caracteres: espacios, tabulaciones, retornos de carro y avances de línea.
|
Esta opción especifica si las líneas en blanco deben ignorarse en comparación. Los valores válidos son true y false. El valor predeterminado es false.
La opción se aplica en función del valor actual de la opción --mode. Si --mode=text, entonces se aplica a los archivos de texto y es equivalente a la opción --text-ignore-blank-lines. Si --mode=xml, entonces no afecta a la comparación. Si --mode=doc, entonces se aplica a los documentos de Word y es equivalente a la opción --doc-ignore-blank-lines. Si hace una comparación de directorios, se aplica a cada tipo de comparación que pueda ocurrir en ese directorio.
|
Esta opción se utiliza tanto para comparaciones de archivos como para comparaciones de directorios. La opción se aplica en función del valor actual de la opción --mode. Si --mode=text, entonces se aplica a los archivos de texto y es equivalente a la opción --text-ignore-case. Si --mode=xml, entonces se aplica a archivos XML y es equivalente a las opciones --xml-ignore-case-in-names y --xml-ignore-case-in-text. Si --mode=doc, entonces se aplica a los documentos de Word y es equivalente a la opción --doc-ignore-case. Si hace una comparación de directorios, se aplica a cada tipo de comparación que pueda ocurrir en ese directorio.
Si se configura como true, la comparación ignorará las mayús/minús. De lo contrario, las tendrá en cuenta. El valor predeterminado es false.
|
Establece el nivel de información que se ofrece en los mensajes de información, advertencia y error. Los valores válidos son:
•none: No informa de nada. •info: Informa acerca de mensajes de información, advertencia y error. •warning: Informa acerca de mensajes de advertencia y error. •error: (Predeterminado) Solo informa acerca de mensajes de error.
|
Especifica el tipo de comparación que se debe llevar a cabo. La opción y sus valores (ver más abajo) se pueden aplicar tanto a las comparaciones de archivos como a las comparaciones de directorios. En el caso de las comparaciones de directorios, la opción "auto" predeterminada es una comparación "rápida". Compara archivos en el directorio y sus subdirectorios por tamaño y fecha de modificación. Si se selecciona cualquier otro valor para las comparaciones de directorios, la comparación trata el contenido de los archivos como el valor seleccionado (por ejemplo, como archivos XML).
|
Esta opción le permite escribir el resultado del comando en un archivo de texto en el equipo cliente. El valor debe especificar una ruta de archivo válida del equipo cliente. Utilice la opción --om para configurar el formato de archivo de salida.
|
Indica el formato de salida del informe generado. Estos son los valores disponibles: auto (predeterminado), text, xml, html.
Nota: La opción --output-mode=text no se puede usar en comparaciones de archivos XML o documentos de Word.
|
Indica el puerto desde el que DiffDog Server escucha las solicitudes. Si esta opción no está configurada, se utilizará el puerto especificado en el archivo de configuración del cliente (29800 por defecto). La opción --port anula lo configurado en el archivo de configuración.
|
Evita que el resultado estándar sea visible en la línea de comandos. Los valores válidos son:
•true: No muestra el resultado estándar en la ventana del terminal. •false: (Predeterminado) Muestra el resultado estándar en la ventana del terminal.
|
Indica el servidor desde el que DiffDog Server escucha las solicitudes. Si esta opción no está configurada, se utilizará el servidor especificado en el archivo de configuración del cliente (127.0.0.1 por defecto). La opción --server anula lo configurado en el archivo de configuración.
|
Esta opción le permite escribir el resultado del comando en un archivo de texto en el equipo servidor. El valor debe especificar una ruta de archivo válida del equipo servidor. Utilice la opción --om para configurar el formato de archivo de salida.
|
Esta opción le permite agregar una ruta remota a la comparación. Especifica el lado izquierdo de la comparación (ruta a un archivo o directorio a la que puede acceder el servidor).
|
Esta opción le permite agregar una ruta remota a la comparación. Especifica el componente intermedio de la comparación (en comparaciones a tres bandas). El valor debe ser una ruta a un archivo o directorio a la que puede acceder el servidor.
|
Esta opción le permite agregar una ruta remota a la comparación. Especifica el lado derecho de la comparación (ruta a un archivo o directorio a la que puede acceder el servidor).
|
Esta opción se utiliza en la comparación de documentos de texto o de directorios que contienen documentos de texto. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de texto de ese directorio. Si se configura como true, la comparación ignorará las mayús/minús. De lo contrario, las tendrá en cuenta. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de documentos de texto o de directorios que contienen documentos de texto. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de texto de ese directorio. La opción especifica si las líneas en blanco deben ignorarse en la comparación de archivos de texto. Los valores válidos son true y false. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de documentos de texto o de directorios que contienen documentos de texto. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos de texto de ese directorio.
Define cómo deben tratarse en la comparación los espacios en blanco. Se consideran espacios en blanco todos estos caracteres: espacios, tabulaciones, retornos de carro y avances de línea.
|
Esta opción se utiliza para comparaciones de archivos y de directorios. La opción se aplica en función del valor actual de la opción --mode. Si --mode=text, entonces se aplica a los archivos de texto y es equivalente a la opción --text-whitespace-mode. Si --mode=xml, entonces se aplica a los archivos XML. Si --mode=doc, entonces se aplica a los documentos de Word y es equivalente a la opción --doc-whitespace-mode. Si hace una comparación de directorios, se aplica a cada tipo de comparación que pueda ocurrir en ese directorio en función de la extensión de archivo.
Define cómo deben tratarse en la comparación los espacios en blanco. Se consideran espacios en blanco todos estos caracteres: espacios, tabulaciones, retornos de carro y avances de línea.
Si los archivos que se comparan son XML, la normalización y la eliminación afectan a los caracteres de espacio en blanco que están dentro de los valores de atributo o elemento . Los demás caracteres de espacio en blanco no se tienen en cuenta.
|
Esta opción se utiliza para comparaciones XML. Un filtro XML contiene reglas que ignoran ciertos atributos o elementos XML durante la comparación. Los valores válidos para esta opción son los filtros XML que se definen en el archivo de configuración del cliente, en el grupo [xml.filter]. Por ejemplo, si el archivo de configuración define un filtro [xml.filter:ignore-abc-elems], la configuración equivalente en la línea de comandos sería la opción: --xml-filter=ignore-abc-elems
En Windows, si DiffDog está instalado en el mismo equipo que DiffDog Server, puede especificar además cualquier filtro XML que ya exista en DiffDog. Para más información sobre la creación de filtros de directorios con DiffDog, consulte la documentación de DiffDog.
Nota: Si no se puede encontrar el filtro, se produce un error y no se hace ninguna comparación.
|
Esta opción se utiliza en la comparación de documentos XML o de directorios que contienen documentos XML. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos XML de ese directorio. Si se configura como true, se hará una comparación de los nombres de nodo XML sin distinción entre mayúsculas y minúsculas. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de documentos XML o de directorios que contienen documentos XML. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos XML de ese directorio. Si se configura como true, se hará una comparación de los nodos de texto XML sin distinción entre mayúsculas y minúsculas. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Valores válidos:
|
Esta opción se utiliza en la comparación de archivos XML. Si se configura como true, se ignoran los espacios de nombres XML. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de archivos XML. Si se configura como true, se ignoran los prefijos XML. Por ejemplo, supongamos que desea comparar los archivos XML que aparecen a continuación. Ambos archivos contienen elementos idénticos, pero los prefijos son diferentes.
Por defecto, la opción --xml-ignore-prefixes tiene el valor false, lo que significa que la comparación no considerará que los archivos son iguales. Sin embargo, si la opción --xml-ignore-prefixes se configura como true, entonces la comparación ignora los prefijos y considera que los archivos son iguales.
|
Esta opción se utiliza en la comparación de archivos XML. Si se configura como true, el contenido de texto de los nodos XML se ignora en la comparación. Esto es muy práctico si quiere comparar solamente la estructura de dos archivos XML sin tener en cuenta el contenido del nodo propiamente dicho. El valor predeterminado es false.
|
Esta opción se utiliza en la comparación de archivos XML. Configure esta opción como true si desea que se ordenen todos los atributos XML antes de la comparación. Por ejemplo, supongamos que desea comparar estos dos archivos XML:
En el fragmento anterior, el orden de los atributos es diferente en cada archivo, aunque los atributos son los mismos. Si configura la opción --xml-order-by-attributes como true, la aplicación ordenará los atributos antes de la comparación y, por tanto, la comparación considerará que los archivos son iguales. El valor predeterminado es false, lo que significa que los archivos no son iguales si el orden de los atributos no es el mismo.
|
Esta opción se utiliza en la comparación de archivos XML. Configure esta opción como true si desea que se ordenen todos los elementos XML antes de la comparación. Por ejemplo, supongamos que desea comparar estos dos archivos XML:
En el fragmento anterior, los archivos izquierdo y derecho contienen exactamente los mismos elementos, pero en diferente orden. Si configura la opción --xml-order-by-elements como true, la aplicación ordenará los elementos antes de la comparación y, por tanto, la comparación considerará que los archivos son iguales. El valor predeterminado es false, lo que significa que los archivos no son iguales si el orden de los elementos es diferente.
|
Esta opción se utiliza en la comparación de archivos XML. Hay casos en los que varios elementos tienen exactamente el mismo nombre y atributos, pero los valores de atributo son diferentes. Para ordenar por atributos concretos antes de la comparación, configure esta opción como una lista con nombre de atributos creada en el archivo de configuración del cliente, en el grupo [xml.orderby:<nombre_de_su_lista>].
Por ejemplo, supongamos que desea comparar estos dos archivos XML:
En el fragmento anterior, los archivos izquierdo y derecho no son iguales. Sin embargo, si se ordenaran todos los elementos phone por el atributo ext, entonces los archivos serían iguales. Para que tales comparaciones sean posibles, primero modifique el archivo de configuración del cliente de la siguiente manera:
Ahora puede ejecutar el comando diff con la opción --xml-order-by-attribute-list=milista. Si hace esto, la aplicación ordenará los elementos por el atributo ext y, como resultado, la comparación considerará que los archivos son iguales. Si no está configurada la opción --xml-order-by-attribute-list, la comparación considera que los archivos como los anteriores NO son iguales.
Como alternativa, para ordenar por todos los atributos, configure la opción --xml-order-by-attributes=true en lugar de esta opción.
Nota: Si configura la opción --xml-order-by-attribute-list, asegúrese de configurar también la opción --xml-order-by-elements=true.
En Windows, si DiffDog está instalado en el mismo equipo que DiffDog Server, puede configurar esta opción como una lista de atributos personalizada creada en DiffDog. Para más información sobre la creación de listas de atributos personalizadas, consulte la documentación de DiffDog.
|
Esta opción se utiliza en la comparación de archivos XML. Hay casos en los que varios elementos tienen exactamente el mismo nombre y atributos, y solo es diferente el texto de los elementos. Configure esta opción como true si desea que se ordenen dichos elementos según el contenido de texto antes de la comparación. Por ejemplo, supongamos que desea comparar estos dos archivos:
En el fragmento anterior, los archivos izquierdo y derecho no son iguales. Sin embargo, si configura la opción --xml-order-by-text como true, la aplicación ordenará los elementos en función de su texto y, como resultado, la comparación considerará que los archivos son iguales. El valor predeterminado es false, lo que significa que no se ordenan los elementos según su texto y los archivos como los anteriores no se consideran iguales.
Nota: Si configura la opción --xml-order-by-text, asegúrese de configurar también la opción --xml-order-by-elements=true.
|
Esta opción se utiliza en la comparación de archivos XML. Si se configura como true, entonces se resuelven todas las entidades del documento. De lo contrario, los archivos se comparan con las entidades tal y como están. El valor predeterminado de esta opción es false.
|
Esta opción se utiliza en la comparación de documentos XML o de directorios que contienen documentos XML. En el caso de las comparaciones de directorios, la opción se aplicará solo a los documentos XML de ese directorio.
Define cómo deben tratarse en la comparación los espacios en blanco. Se consideran espacios en blanco todos estos caracteres: espacios, tabulaciones, retornos de carro y avances de línea. Esta opción afecta específicamente a los caracteres de espacio en blanco que están dentro de los valores de elemento y atributo. Los caracteres de espacio en blanco que están fuera de los valores de atributo o elemento no se tienen en cuenta en la comparación.
|
Esta opción se utiliza en la comparación de archivos ZIP. Si se configura como true, los archivos ZIP se tratarán como directorios y no como archivos binarios. El valor predeterminado de esta opción es false.
|
Ejemplos
Si solo desea comparar archivos o directorios locales, indíquelos como argumentos, que se interpretarán en el siguiente orden. Dos argumentos (i) : lado izquierdo, lado derecho. Tres argumentos (ii): Lado izquierdo, intermedio, lado derecho. Aunque la opción --mode no es obligatoria, se recomienda configurarla explícitamente como text, binary, o xml. En el primer ejemplo de más arriba, está configurada como text, ya que se comparan dos archivos de texto. En el segundo ejemplo, está configurada como xml..
(i) diffdogcmdlclient diff file1.txt file2.txt --mode=text
(ii) diffdogcmdlclient diff file1.xml file2.xml file3.xml --mode=text
La alternativa es especificar qué archivos se deben comparar mediante opciones en lugar de argumentos. Por ejemplo, el siguiente comando indica dos archivos XML mediante opciones, no argumentos. Tenga en cuenta la ubicación de los archivos en el lado cliente/servidor
(i) diffdogcmdlclient diff --client-left=file1.xml --client-right=file2.xml
(ii) diffdogcmdlclient diff --client-left=file1.xml --server-right=file2.xml --client-right=file3.xml
El comando anterior compara un archivo que está en el cliente con un archivo que está en el servidor. Se espera que el archivo que está en el servidor se encuentre en una carpeta que tenga el alias public. Además, se presupone que un administrador ya ha definido en el servidor un alias llamado public.
diffdogcmdlclient diff --client-left=file1.txt --server-right=file2.txt --mode=text --alias=public
Para ver la lista de alias definidos en el servidor, ejecute el comando aliases. Para guardar un alias como predeterminado, configure la opción server-alias en el archivo de configuración del cliente. De este modo, no será necesario especificar un alias en la línea de comandos.