CONTACT
Christopher M. Howard
home page: <https://frigidcode.com/code/archdiff/>
e-mail: <christopher.howard@frigidcode.com>

I am interested in receiving bug reports, build problems, feature requests, and so forth, though I may not be able to respond directly to every e-mail. Do not send any code unless you intend for it to be released with this program under the terms of the GPLv3 license and the code can legally be included under those terms.

LICENSE

GPLv3. Refer to the COPYING file for the full text of the license.

USAGE NOTES

Run "archdiff -h" for syntax.

Archive Diff is to serve as a convenience utility which glues together libarchive and diff functionality to allow humans to conveniently browse the line-by-line differences between the files in two source code archives. This utility is meant primarily for the convenience of those paranoid freaks who prefer to install system software from source code and also like to know for themselves precisely what has been changed between two versions. Point this utility to two archive files, and it will provide a diff showing the differences between parallel files contained in the archives. Typically you will pipe this output to your preferred pager for easy browsing.

Note well that this utility is designed for the convenience of HUMAN browsing. It should not be used to create patch files or anything else which requires a machine-level exactness. Archive Diff will sometimes use convenient tricks, such as skipping the top-level directory in the archive, to produce more natural diff output.

Obviously, the more divergent the archive files are, the less useful the output will be. Comparing archives from completely different projects is pointless.

Archive Diff should be able to handle any archive formats and compression formats which can be handled by your implementation of libarchive. (E.g., tar.gz, tar.xz, zip.)

PORTABILITY

I wrote this source targeting the C99 standard, but also utilizing _XOPEN_SOURCE 700 features (POSIX.1, POSIX.2, XPG4, SUSv4). So far I have only done testing on x86 and amd64 Gnu/Linux, but in theory archdiff should be portable to many other *nix platforms.

