.\" $HeadURL$ $LastChangedRevision$ .\" .TH FADDIFF 1 "27 December 2002" .ne 5 .SH NAME faddiff \- Report differences between FAD files .br .ne 5 .SH SYNOPSIS .B faddiff [ .B \-V | .B \-\-version ] [ .B \-v | .B \-\-verbose | .B \-d .I level | .B \-\-debug .I level ] [ .B \-h | .B \-\-help ] [ .B \-p | .B \-\-list\-paths ] [ .B \-u ] [ .B \-g ] [ .B \-m ] [ .B \-o .I outfile ] .I infile1 .I infile2 .br .ne 5 .SH DESCRIPTION .B Faddiff reports differences between two FAD files (see .B fad\fR(5)), such as have been generated with .B mkfad\fR(1). The input files must be specified on the command line, though either one of them may be replaced with .B \(oq\-\fR' to indicate that it should be read from standard input. The result is written to the standard output. .PP All differences between the state of an individual file in the two FAD files are reported on one line. The format of of such a line is: .IP "" 15 .nf \fIpath\fR: \fIchangetype\fR(\fIoldvalue\fR -> \fInewvalue\fR), ... .fi .PP .I path represents the path of the file that has changed. .I changetype may be one of the following: .TP 15 .B added .I path is mentioned in the second FAD file only. The brackets are empty. .TP .B deleted .I path is mentioned in the first FAD file only. The brackets are empty. .TP .B mode .I path has different permissions in the two FAD files. Bracketed are the permissions, expressed as octal numbers, in the first file and then in the second. .TP .B owner .I path has different a different owner in the two FAD files. Bracketed are the numeric user ids in the first file and then in the second. .TP .B group .I path has different a different group in the two FAD files. Bracketed are the numeric group ids in the first file and then in the second. .TP .B links .I path has a different set of hard links in the two FAD files. Bracketed are the names of the other hard links in the first file and then in the second. .TP .B type .I path has changed type. This indicates that .I path has been deleted and subsequently recreated as a file-system object of a different type. Bracketed are the types in the first file and then in the second file. The types are represented by the following characters: .RS 15 .TP 5 .B f file .TP .B d directory .TP .B p pipe .TP .B l symbolic link .TP .B b block device .TP .B c character device .TP .B s socket .RE .TP 15 .B checksum .I path is a file whose contents is different as gauged by the .I path\fR's 32 bit checksum. Bracketed are the checksums in the first file and then in the second. .TP .B linked_to .I path is a symbolic link which has different destinations in the two FAD files. Bracketed are the symbolic link destinations in the first file and then in the second. .TP .B major/minor .I path is a special device file which has different major or minor numbers in the two FAD files. Bracketed are the combined major and minor numbers in the first file and then in the second. .PP .PP .B Faddiff can read and write plain files or files compressed with either .B compress\fR(1) or .B gzip\fR(1), but only if they have the correct file extension and are specified on the command line, rather than fed through standard input. .br .ne 5 .SH CONFIGURATION None. .br .ne 5 .SH OPTIONS .TP 25 .B \-d \fIlevel\fR,\fB \-\-debug \fIlevel\fR Determines how verbose .B faddiff will be. The message types displayed for the different values of .I level are as follows: .RS 25 .TP 5 .B 0 internal errors only .TP .B 1 internal errors and normal errors .TP .B 2 internal errors, normal errors and warnings .TP .B 3 internal errors, normal errors, warnings and informational messages .TP .B >3 all the above plus application-specific debug messages. .RE .TP .B \-g Ignores changes of group. .TP .B \-h \fR,\fB \-\-help Displays a brief usage message. .TP .B \-m Ignores changes of mode. .TP .B \-o \fIoutfile Writes the database to .I outfile\fR. The default is to write to standard output. .TP .B \-p \fR,\fB \-\-list\-paths List the compiled-in paths of various files and directories that .B faddiff uses. .TP .B \-u Ignores changes of owner/user. .TP .B \-v \fR,\fB \-\-verbose Equivalent to .B \-d 3\fR. .TP .B \-V \fR,\fB \-\-version Print the program's version number and exit. .br .ne 5 .SH EXIT STATUS .B Faddiff returns 1 if there were differences, 0 of there were no differences, and something else if there was an error. .br .ne 5 .SH FILES None. .br .ne 5 .SH ENVIRONMENT VARIABLES None. .br .ne 5 .SH EXAMPLES The following output shows the results on running .B faddiff on two FAD files. These files were generated with .B mkfad\fR(1). In between time changes of a type corresponding the the filenames were made: .IP .nf .fam C .B faddiff before.fad after.fad testdir/changedest: linked_to(dest1 -> dest2) testdir/changegrp: group(79 -> 0) testdir/changeme: links( -> ./linkedfile), checksum(5233 -> 5300) testdir/changemin: major/minor(515 -> 772) testdir/changemytype: type(f -> d) testdir/changeown: owner(1663 -> 1194) testdir/changeperm: mode(100600 -> 100755) testdir/deleteme: deleted() testdir/fad1: checksum(0 -> 25025) testdir/fad2: added() testdir/linkedfile: added() testdir/newfile: added() .fam T .fi .br .ne 5 .SH CAVEATS None. .br .ne 5 .SH SEE ALSO perl(1), fad(5), faddiff(1), compress(1), uncompress(1), gzip(1), gunzip(1) .br .ne 5 .SH AUTHOR SPPSYM_AUTHOR_NAME .br .ne 5 .SH COPYRIGHT & DISTRIBUTION POLICY Copyright (C) 1995-2002 SPPSYM_AUTHOR_NAME .PP This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.