How It Works
After installation, the DiffDog Server files are copied to the default program installation directory.
C:\Program Files (x86)\Altova\DiffDogServer2023\
The program installation directory contains two executables that you will work with:
1.DiffDog Server executable, available in the bin subdirectory. This executable provides configuration-related commands, including commands for licensing DiffDog Server, starting it as a service, or resetting it to the default configuration. It also provides data differencing commands, such as the diff command. The diff command is one of the most important commands, and you can use it to run comparisons between any of the following: files, directories, or URLs.
2.DiffDog Command Line Client executable, available in the cmdlclient subdirectory. This executable provides only data differencing commands. This executable represents a lightweight, portable utility that calls DiffDog Server to run a comparison, even if the latter is on a different machine or operating system.
In this documentation, the DiffDog Command Line Client executable is alternatively referred to as "DiffDogCmdlClient".
To begin, let's open a command line terminal and run a simple command that lists all the commands available in DiffDog Server:
"C:\Program Files\Altova\DiffDogServer2023\bin\DiffDogServer" help
Let's now run an actual comparison between two local files. This time, make sure that you call the DiffDogCmdlClient (not server) executable with the diff command, as follows:
"C:\Program Files\Altova\DiffDogServer2023\cmdlclient\DiffDogCmdlClient.exe" diff file1.txt file2.txt
/opt/Altova/DiffDogServer2023/cmdlclient/bin/diffdogcmdlclient diff file1.txt file2.txt
/usr/local/Altova/DiffDogServer2023/cmdlclient/bin/diffdogcmdlclient diff file1.txt file2.txt
Note that, for the sake of simplicity, this documentation omits the full path to the executable when describing commands. Therefore, instead of the command above, this documentation uses:
<exec> diff file1.txt file2.txt
where <exec> is the path to either the DiffDog Server or DiffDog Command Line Client executable.
The command above is very simple and assumes that the files file1.txt and file2.txt exist in the current working directory of the command prompt (otherwise, refer to them using an absolute or a relative path). You can always change the working directory by typing cd followed by the directory path, for example:
or, on a Linux machine:
Note the following:
•To call the executable (either client or server) just by name, without the full path, add the program installation directory to your system's PATH variable.
•On Linux, use an all-lowercase to call the executable. In addition, on Linux and macOS, you might need to add the prefix "./" before the name of the executable when calling it from the current directory of the command shell.
DiffDog Command Line Client can run either on the same machine as DiffDog Server, or on a different machine. When installed on another machine, the client is capable of communicating with a remote DiffDog Server through HTTP. Consequently, the diff command can compare not only file or directory paths local to the client, but also paths on the remote machine where DiffDog Server runs. You can also compare a client-side file or directory with a remote server-side file or directory, or vice versa. Moreover, the client and the server can be on different operating systems (for example, the client may be running on Windows and the server on Linux). The advantage of such a setup is that it enables you to run comparisons from virtually any client configured to communicate with the server. For instructions about how to configure the server to accept calls from remote clients, see Configuring the Server.
The diff command provides a large number of additional options for advanced comparison needs, for example:
•You can specify whether files should be compared as text, XML, or binary files.
•You can create custom rules that let you automatically set a comparison mode (text, XML, binary) based on file extension.
•When two directories are compared, you can specify whether file contents are to be compared also.
•You can specify whether the file size or modification date should be ignored or taken into account when comparing files.
•When you compare text files, you can specify rules to exclude from the comparison files that match a certain name pattern.
•When you compare XML files, you can specify rules to exclude from the comparison certain XML elements and attributes.
•You can specify how the comparison results are to be generated. For example, you can redirect the comparison result (output) either to a file on the server, or to a file on the client. Regardless of the option chosen, you can additionally view the output on screen. The comparison results can be either in text or in XML format.
This is not an exhaustive list; for reference to all available comparison options, see the diff command reference.