ReadMe(FHist)                                                    ReadMe(FHist)



NAME
       fhist - file history and comparison tools
       Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
       2000, 2001, 2002, 2003, 2004, 2005, 2006 Peter Miller; All rights
       reserved.

       Portions of this program are
       Copyright (C) 1990 David I. Bell.

       The fhist package is distributed under the terms of the GNU General
       Public License, see the LICENSE section, below, for more information.

DESCRIPTION
       The FHist package contains 3 utilities, a file history tool ``fhist'',
       a file comparison tool ``fcomp'', and a file merging tool ``fmerge'.
       All three are bundled together, because they all use the same minimal-
       difference algorithm.

       fhist
               Keeps track of versions of a file.  It works correctly when
               given binary files as input.  See fhist(1) for more
               information.

       fcomp
               Compares two versions of a file, usually line-for-line textual
               comparison.  It is capable of comparing two binary files byte-
               for-byte.  See fcomp(1) for more information.

       fmerge
               Merges together edits from two descendants of a file.  See
               fmerge(1) for more information.

       The history tool presented here, fhist, is a minimal history tool.  It
       provides no locking or branching.  This can be useful in contexts where
       the configuration management or change control be being provided by
       some other tool.

REFERENCES
       This program is based on the algorithm in
              An O(ND) Difference Algorithm and Its Variations, Eugene W.
              Myers, TR 85-6, 10-April-1985, Department of Computer Science,
              The University of Arizona, Tuscon, Arizona 85721.
       See also:
              A File Comparison Program, Webb Miller and Eugene W. Myers,
              Software Practice and Experience, Volume 15, No. 11, November
              1985.

BUILDING
       For complete instructions for host to build these programs, see the
       BUILDING file included in this distribution.

ARCHIVE SITE
       The latest version of fhist is available on the Web from:

                URL:    http://www.canb.auug.org.au/~millerp/
                File:   fhist.html          # The FHist page.
                File:   fhist-1.16.README   # Description, from the tar file
                File:   fhist-1.16.lsm      # Description, in LSM format
                File:   fhist-1.16.spec     # RedHat package spec
                File:   fhist-1.16.tar.Z    # The complete source.
       FHist is also carried by sunsite.unc.edu in its Linux archives.  You
       will be able to find FHist on any of its mirrors.

                URL:    ftp://sunsite.unc.edu/pub/Linux/devel/vc/
                File:   fhist-1.16.README   # Description, from the tar file
                File:   fhist-1.16.lsm      # Description, in LSM format
                File:   fhist-1.16.spec     # RedHat package spec
                File:   fhist-1.16.tar.Z    # The complete source.
       This site is extensively mirrored around the world, so look for a copy
       near you (you will get much better response).

COPYRIGHT
       fhist version 1.16.D005
       Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
       2000, 2001, 2002, 2003, 2004, 2005, 2006 Peter Miller; All rights
       reserved.

       This program is derived from a work
       Copyright (C) 1990 David I. Bell.

       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
       MERCHANTABILITY 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.,
       59 Temple Place, Suite 330, Boston, MA 02111, USA.

AUTHORS
       Peter Miller       Web:   http://www.canb.auug.org.au/~millerp
       /\/\*           E-Mail:   millerp@canb.auug.org.au

       David I. Bell      Web:   http://www.canb.auug.org.au/~dbell
                       E-Mail:   dbell@canb.auug.org.au

RELEASE NOTES
       For excruciating detail, and also acknowledgements of those who
       generously sent me feedback, please see the etc/CHANGES.1.16 file
       included in this distribution.

       A number of features and bug fixes have been added to fhist with this
       release.  A few of them are detailed here:

   Version 1.16 (20-Dec-2005)
       * There is a new fmerge -ignore-identical-conflicts option which may be
       used to suppress logical conflicts in which the same thing is done by
       both variants. This is often a better match for users' expectations for
       merging source code.

   Version 1.15 (8-Nov-2005)
       * There is a new fcomp -no-binary option, which may be used to prevent
       the comparison of binary files, instead it treats them both as empty.

       * A small build problem on MacOS X has been fixed.

   Version 1.14 (8-Jun-2004)
       * The ./configure script now understands the --with-nlsdir option, so
       that you can place the .mo files.

       * The fhist(1) program is now able to cope with numeric modules names.

       * The occasional false negative from test 26 has been fixed.  It was
       failing for some users because of message translation
       (internationalization) issues.

   Version 1.13 (13-Mar-2003)
       * A bug has been fixed in some of the tests.  They were susceptible to
       false negatives if the display width changed.

       * All references to the cuserid function have been replaced.  It isn't
       sufficiently portable to be used in real programs.

   Version 1.12 (28-Nov-2002)
       * Some build problems have been fixed.

   Version 1.11 (26-Nov-2002)
       * Some build problems, relating to modern ANSI C compilers choking on
       K&R function definitions with variable arguments, have been fixed.

       * Two bugs relating to the handling of binary files by fhist(1) have
       been fixed.

       * A bug which left garbage files behind when a create failed has been
       fixed.

   Version 1.10 (9-Jul-2002)
       * Interrupt handling has been improved.

       * There is a new fhist -No_Keywords option, used to completely disable
       keyword substitution.

       * Several build problems have been fixed.

   Version 1.9 (23-Oct-2001)
       No public release.

   Version 1.8 (16-Oct-2001)
       * There is a new -BINary option for the fcomp(1) program, which
       compares binary files a byte at time, printing the results in
       hexadecimal.

       * The fcomp(1) program now silently copes with CRLF line terminations.

   Version 1.7 (11-Apr-2000)
       * The fhist(1) command now has a --binary option, which may be used to
       store the history of binary files.

       * The fhist(1) command has a new --make-path option, which requests
       that the history directory be created if necessary.

       * A bug in fhist(1) wich caused a SEGFAULT when you used the -t option
       (extract to terminal) has been fixed.

   Version 1.6 (25-Oct-1999)
       * An RPM spec file has been added to the distribution.

       * The code is now more robust about what various UNIX systems return
       from pathconf().

       * A bug with the ``fcomp -blank'' option has been fixed.

   Version 1.5 (1-Jun-1999)
       * Binary files are now detected on input, and the utilities file
       gracefully with a warning or error message, as appropriate.

       * Some buffer over-run bugs have been fixed.

       * Several improvements have been made to the portability.

   Version 1.4 (16-Sep-1998)
       * The install and build procedures have been made more robust, and they
       take note of more of the information provided by GNU Autoconf.

       * The error messages have been internationalized, so it is now possible
       to obtain error messages in your native language.  (If you would like
       to contribute with error message translations, please contact the
       author.)

       * An LSM description has been added, along with a HTML page to present
       it all nicely at the archive site.

       * A RedHat Package Manager spec file has been added, so that a RedHat
       package can be created.  The spec file is in the standard distribution.

   Version 1.3 (29-Mar-1998)
       This version was not distributed  at all.

   Version 1.2
       This version was not distributed very widely.

       * The non-standard isblank function is no longer used, it cause too
       many portability problems.

       * The use of pathconf is not more robust for more operating systems.

   Version 1.1
       * The fhist package now uses a shell script called configure to
       configure itself.  This script is generated using the GNU Autoconf
       utility.  This should make fhist significantly easier to configure, and
       significantly more portable.

       * A bug has been fixed in the conflict reporting of the fmerge program.
       It now correctly opens the conflicts file.

       * The fhist program now uses pathconf(2) to determine file name length
       limits.



Reference Manual                     FHist                       ReadMe(FHist)
