vdiff(1) display line-by-line differences between versions of files


vdiff [ diff-options ] [ -base path ] [ -P ] files ..


vdiff is a differential comparator for file versions that are stored in shapeTools' object base, AtFS. The functionality of vdiff is very similar to the diff command on your host. All options and switches that are recognized by diff can also be specified for vdiff.

The arguments to vdiff can either be a single filename, or a pair of version identifiers. If only a filename is specified, vdiff prints the differences between the specified file and the most recent version of this file that is stored in the AtFS object base. A file can be compared to any stored version by specifying the version as first, and the filename as second argument. If both arguments are version identifiers, the difference between these two versions is printed.

Differences between files and versions can be printed in any style that is supported by the local diff program.

Version identifiers consist of the filename, and a version number or alias name for a version, enclosed in brackets. Example:

retrieve.c[4.22] or retrieve.c[Rel-4.1]

vdiff creates temporary copies of the versions that shall be compared, invokes the diff command, and finally removes the temporary copies.


-base path
If vdiff is told to produce a context diff, the filenames of the compared objects are mangeled so that the specified path replaces the path of the current directory in the full pathnames appearing in the diff-header. This is useful to replace an absolute pathname by a relative pathname and makes the produced context-diff easier to digest for the patch program.
With the -P switch turned on, vdiff won't give up if one of the two objects that shall be compared does not exist. In this case an empty object is substituted for the missing one, causing the diff to be the complete contents of the existing object. This is useful in situations when complex patches are produced that upgrade one release of a software system to a new release, and the system has structurally changed (i.e. new files have been added to the system).