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, 2008, 2009, 2010, 2012 Peter
Miller;
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://fhist.sourceforge.net/
File: index.html # The FHist page.
File: fhist-1.20.README # Description, from the tar file
File: fhist-1.20.lsm # Description, in LSM format
File: fhist-1.20.spec # RedHat package spec
File: fhist-1.20.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.20.README # Description, from the tar file
File: fhist-1.20.lsm # Description, in LSM format
File: fhist-1.20.spec # RedHat package spec
File: fhist-1.20.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.20.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2012 Peter
Miller;
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 3 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, see <http://www.gnu.org/licenses/>.
AUTHORS
Peter Miller Web: http://miller.emu.id.au/pmiller/
/\/\* E-Mail: pmiller@opensource.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.20 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.20 (2012-May-21)
* The project now compiles using recent gcc 4.5 version.
Version 1.19 (2010-Sep-17)
* There is now a dependency on libexplain, for much better error
messages.
http://libexplain.sourceforge.net/
Version 1.18 (2009-Oct-16)
* The .XX macro usage has been made conditional in the man pages, to
silence Debian lintian warnings.
* The use of naked "-" have been replaced with "\-" for option
introducers, "\[hy]" for hyphens, and "\[mi]" for minus signs, to
silence Debian lintian warnings.
* The author's email address has been updated.
Version 1.17 (2008-Jun-17)
* The licenseis now GPLv3.
* The fhist(1) command now accepts a remark string on the command line.
Version 1.16 (2005-Dec-20)
* 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 (2005-Nov-08)
* 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 (2004-Jun-08)
* 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 (2003-Mar-13)
* 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 (2002-Nov-28)
* Some build problems have been fixed.
Version 1.11 (2002-Nov-26)
* 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 (2002-Jul-09)
* 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 (2001-Oct-23)
No public release.
Version 1.8 (2001-Oct-16)
* 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 (2000-Apr-11)
* 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 (1999-Oct-25)
* 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 (1999-Jun-01)
* 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 (1998-Sep-16)
* 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 (1998-Mar-29)
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)