frigidcode.com

homearticles & codemultimedialinksdonate

Archive Diff

Archive Diff is a convient command-line utility which allows humans to browse the line-by-line differences between the files in two source code archives. It is written in the C programming language and is made available under the GPLv3 license. This program is dedicated to those paranoid souls who prefer to install system software from source code and also like to know for themselves precisely what has been changed between two versions.

Many people are satisfied with a simple examination of the ChangeLog to know what has been changed in a software release. But can you really know for sure, unless you see each line of source code that has removed or added? Archive Diff allows you to do this without going to the trouble of unwrapping the archives yourself and running the correct diff commands.

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.)

Please note 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.

Status

Archive Diff is currently in the beta stage of software development.

Download

latest source (1.1.4) sig

PGP public key

Gentoo Ebuild

archdiff-1.1.4.ebuild

Dependencies

Archive Diff links to libarchive, available under the BSD license from Google code. Archive Diff also makes external calls to the colordiff utility, available under the GPL-2 license from Sourceforge.

Example

$ archdiff xinequery-0.3.3.tar.gz xinequery-0.4.tar.gz | less ...snip... diff -rNu /tmp/archdiff-04hfOu/xinequery-0.3.3/xinequery.c /tmp/archdiff-zc8AUE/xinequery-0.4/xinequery.c --- /tmp/archdiff-04hfOu/xinequery-0.3.3/xinequery.c 2012-01-17 13:53:54.998728389 -0900 +++ /tmp/archdiff-zc8AUE/xinequery-0.4/xinequery.c 2012-01-17 13:53:55.000728404 -0900 @@ -32,8 +32,12 @@ #include "config.h" #include <X11/extensions/Xinerama.h> +#include <X11/cursorfont.h> #include <stdio.h> #include <stdlib.h> +#include <stdbool.h> +#include <limits.h> + #if defined HAVE_GETOPT_H #include <getopt.h> #else @@ -41,13 +45,15 @@ #endif void print_usage() { - printf("xinequery [display]" "\n" + printf("xinequery [-g] [display]" "\n" "xinequery -h|-V" "\n" "\n" #if defined HAVE_GETOPT_H + " -g, --grab grab mode" "\n" " -h, --help print usage statement" "\n" " -V, --version print version statement" "\n" #else + " -g grab mode" "\n" " -h print usage statement" "\n" " -V print version statement" "\n" #endif /* HAVE_GETOPT_H */ ...snip...

Portability

C99 base standard plus _XOPEN_SOURCE 700 features (POSIX.2, XPG4, SUSv4). No GNU-only extensions. The ColorDiff utility is said to be broadly portable.

Old versions