fcomp(1) | General Commands Manual | fcomp(1) |
fcomp - file compare
fcomp [ option... ] filename1 filename2
fcomp -Help
fcomp -VERSion
The fcomp program is used to compare text files, similar to the diff(1) program. Its advantage is that it always produces minimal differences, and so will never mis‐sync when comparing files. Its disadvantage is that it runs slower due to the extra work required to produce optimal differences. However, for files differing by less than a few thousand lines, its performance is adequate. The algorithms used by this utility are also used by the fhist(1) program in order to produce the edit history.
To compare file old to file new, the command:
fcomp old new
The following options are understood:
All options may be abbreviated; the abbreviation is documented as the upper case letters, all lower case letters and underscores (_) are optional. You must use consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or lower case or a combination of both, case is not important.
For example: the arguments "-help, "-HELP" and "-h" are all interpreted to mean the -Help option. The argument "-hlp" will not be understood, because consecutive optional characters were not supplied.
Options and other command line arguments may be mixed arbitrarily
on the command line.
The GNU long option names are understood. Since all option names
for fcomp are long, this means ignoring the extra leading '-'. The
"-option=value" convention is also
understood.
As a convenience, if a pathname begins with a period and a environment variable exists with that name, then the value of the environment variable will be used as the actual pathname. For example, if a environment variable of .FOO has the value this.is.a.long.name, then the command
fcomp -o .FOO
fcomp -o this.is.a.long.name
fcomp -o ./.FOO
In general, fcomp can handle all text files you throw at it, even international text with unusual encodings. However, fcomp is unable to cope elegantly with files which contain the NUL character.
The fcomp(1) program simply prints a warning, and continues, you need to know that it converts NUL characters into an 0x80 value before performing the comparison.
The fmerge(1) program also converts the NUL character to an 0x80 value before merging, after a warning, and any output file will contain this value, rather than the original NUL character.
The fhist(1) program, however, generates a fatal error if
any input file contains NUL characters. This is intended to protect your
source files for unintentional corruption. Use -BINary for files
which absolutely must contain NUL characters.
The fcomp program will exit with a status of 1 on any error. The fcomp program will only exit with a status of 0 if there are no errors.
This program is based on the algorithm in
fcomp version 1.18.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 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/>.
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 |
FHist | Reference Manual |