FADDIFF(1)                  General Commands Manual                 FADDIFF(1)



NAME
       faddiff - report differences between FAD files

SYNOPSIS
       faddiff  [ -V | --version ] [ -v | --verbose | -d level | --debug=level
       ] [ -h | --help ] [ -p | --paths ] [ -n | --simulate ]  [  -u  |  --ig-
       nore-uid  ] [ -g | --ignore-gid ] [ -m | --ignore-mode ] [ -o outfile |
       --file=outfile ] file1 file2

DESCRIPTION
       Faddiff reports differences between two FAD files (see fad(5)), such as
       have  been  generated with mkfad(1).  The input files must be specified
       on the command line, though either one of them may be replaced with '-'
       to  indicate  that it should be read from standard input. The result is
       written to standard output.

       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:


                      path: changetype(oldvalue -> newvalue), ...

       path  represents the path of the file that has changed.  changetype may
       be one of the following:

       added          path is mentioned in  the  second  FAD  file  only.  The
                      brackets are empty.

       deleted        path is mentioned in the first FAD file only. The brack-
                      ets are empty.

       mode           path has different permissions in  the  two  FAD  files.
                      Bracketed  are  the permissions, expressed as octal num-
                      bers, in the first file and then in the second.

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

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

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

       type           path has changed type. This indicates that path has been
                      deleted  and subsequently recreated as a file-system ob-
                      ject 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:

                      f    file

                      d    directory

                      p    pipe

                      l    symbolic link

                      b    block device

                      c    character device

                      s    socket

       checksum       path is a file whose contents is different as gauged  by
                      the  path's 32 bit checksum. Bracketed are the checksums
                      in the first file and then in the second.

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

       major/minor    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.

       Faddiff  can read and write plain files or files compressed with either
       compress(1) or gzip(1), but only if they have the correct  file  exten-
       sion  and  are  specified  on the command line, rather than fed through
       standard input.

CONFIGURATION
       None.

OPTIONS
       -d level, --debug=level  Determines how verbose this program  will  be.
                                The  message types displayed for the different
                                values of level are as follows: 0 displays  no
                                messages;  1  displays only errors, 2 displays
                                errors and warnings; 3 displays errors,  warn-
                                ings and informational messages; higher values
                                display errors, warnings,  informational  mes-
                                sages and various messages intended for debug-
                                ging.  The default is 2.

       -h, --help               Displays a brief usage message.

       -p, --paths              Lists the compiled-in paths of  various  files
                                and  directories  that this program uses.  -n,
                                --simulate Some external  commands  that  this
                                program  runs may be displayed rather than ac-
                                tually executed.  BEWARE:  different  programs
                                implement  different  levels of simulation; so
                                this option may work perfectly; on  the  other
                                hand it may do nothing at all!

       -v, --verbose            Equivalent to -d 3.

       -V, --version            Prints the program's version number and exits.

       -g,--ignore-gid          Ignores changes of group.

       -m,--ignore-mode         Ignores changes of mode.

       -o,--file=outfile        Writes  the  database to outfile.  The default
                                is to write to standard output.

       -u,--ignore-uid          Ignores changes of owner/user.

EXIT STATUS
       Faddiff returns zero if there are no differences. If there are  differ-
       ences  it returns non-zero. On failure it returns non-zero and displays
       a diagnostic message. (Note that between releases 4.6.2 and  5.1,  fad-
       diff returned zero even if there were differences.)

FILES
       None.

ENVIRONMENT VARIABLES
       None.

EXAMPLES
       The  following  output  shows the results on running faddiff on two FAD
       files. These files were  generated  with  mkfad(1).   In  between  time
       changes of a type corresponding the the filenames were made:

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

CAVEATS
       None.

STANDARDS
       This manual page documents version 7 of faddiff.

SEE ALSO
       perl(1),  fad(5), faddiff(1), compress(1), uncompress(1), gzip(1), gun-
       zip(1), fad-config(1)

AUTHOR
       Alexis Huxley <alexishuxley@gmail.com>

COPYRIGHT & DISTRIBUTION POLICY
       Copyright (C) 1995-2024 Alexis Huxley

       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.

       This  program  is  distributed  in the hope that it will be useful, but
       WITHOUT ANY  WARRANTY;  without  even  the  implied  warranty  of  MER-
       CHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
       Public License for more details.

       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.



                                  30 Jul 2024                       FADDIFF(1)