xcleardiff
Compares or merges text files
graphically
SYNOPSIS
- Compare
files:
- xcleardiff [ –b·lank_ignore ]
[ –tin·y ] [ –html ]
- [ –hst·ack | –vst·ack ]
[ X-options ] pname1 pname2 ...
- Merge
files:
- xcleardiff –out output-pname [ –b·lank_ignore ]
- [-favor·_contrib n (base=1,...)
] [ –bas·e pname ]
[ –tin·y ] [ –html ]
[ –hst·ack | –vst·ack ]
[ -q·uery | -qal·l | –abo·rt ]
[ X-options ] contrib-pname ...
DESCRIPTION
xcleardiff is a graphical
diff and merge utility for text files. It implements the xcompare and xmerge methods
for the text_file and compressed_text_file type
managers, as well as the graphical portions of these methods for the directory and _html type
managers. On color display monitors, xcleardiff uses different
colors to highlight changes, insertions, and deletions from one or more contributing
files. During merge operations, contributors are processed incrementally and,
when necessary, interactively, to visibly construct a merge results file.
You can edit this file directly in the merge results pane as it is being built
to add, delete, or change code manually, or to add comments.
xcleardiff is implemented
as an X Window System application using a standard Motif toolkit. For a description
of general mouse and keyboard conventions, see your X Window System documentation
.
INVOKING XCLEARDIFF
You can invoke xcleardiff directly
from the command line, specifying files or versions to compare or merge. Invoking xcleardiff directly
bypasses the type managers, so invoke xcleardiff directly
only when you are working with text files that are not stored in a VOB.
The following cleartool subcommands,
when applied to text files, also invoke xcleardiff:
- diff –graphical
- merge –graphical
- findmerge (with options –graphical or –okgraphical)
The findmerge command
includes the advantage of some extra command options—optional preprocessing—in
the same way that diff and merge offer
more flexibility than direct calls to the character-based cleardiff utility.
See findmerge –ftag,
for example.
Various buttons and commands in the xclearcase graphical interface also invoke xcleardiff.
Note: When comparing or merging HTML
files, if the machine on which you run xcleardiff is not
the machine on which you run your HTML browser, your browser may not be able
to find the pathname to the files being compared or merged.
CHANGING THE DEFAULT HTML BROWSER
xcleardiff invokes
a script to determine which HTML browser to use when comparing or merging
files of type html. By default, xcleardiff starts
the Netscape browser through the script display_url.sh.
To change the default values, use the following environment variables:
- CCASE_WEB_SCRIPT (Default value: $CLEARCASEHOME/etc/display_url.sh)
- Invokes the script specified, which designates
the browser to use.
- CCASE_NETSCAPE (Default value: “netscape”)
- Changes the default version of the Netscape
browser to the specified version. If the Netscape browser is accessible through $PATH, you need only specify the executable name;
if it is not in your path specification, you must specify a full pathname.
- CCASE_NETSCAPE_OPT (Default value: NULL)
- Provides additional command-line options
to the Netscape browser through the script, for example, –install to
force the Netscape browser to use a private colormap.
RESTRICTIONS
See the diff and merge reference pages.
OPTIONS AND ARGUMENTS
Handling of White Space
- Default
- When comparing files, xcleardiff pays attention to
changes in white space.
- –blank_ignore
- When comparing and merging files, causes xcleardiff to
ignore extra white space characters in text lines: leading and trailing white-space
is ignored; internal runs of white-space characters are treated like a single <SPACE> character.
If this option is specified at merging, it must be specified with -favor·_contrib.
Font Size
- Default
- xcleardiff uses the font specified by the resource xcleardiff*diffFontSet.
- –tiny
- Uses a smaller font, to increase the amount of text displayed in each
pane.
Invoking the Type Manager for HTML Files
- Default
- When xcleardiff is invoked directly, the type manager
is bypassed. When xcleardiff is invoked indirectly (through cleartool or
the graphical interface), the type manager is used.
- –html
- Starts the _html type
manager.
Contributor Pane Stacking
- Default
- Each file included in the comparison or merge is displayed in a separate
subwindow, or contributor pane. By default, these panes are displayed, or
stacked, horizontally (side by side), with the base contributor on the left.
- –vstack
- Stacks the contributor panes vertically, with the base contributor at
the top.
- –hstack
- Displays the contributor panes horizontally (the default behavior).
Merge Results File
- Default
- None. You must specify a merge results file with the –out option.
- –out output-pname
- (Merge only; required) Specifies the
merge results file, either a checked-out version or a standard operating-system
file.
Specifying a Base Contributor for a Merge Operation
- Default
- xcleardiff does not calculate a base contributor
(see the merge reference page). The first
contributor named on the command line becomes the base contributor, against
which the one or more additional contributors are compared. Query on All mode
(–qall) is in effect by default, but can be deactivated
from the graphical interface.
- -favor·_contrib n (base=1,...)
- (merge only) Specifies the contributor, in numeric value, to be used
to fill in the non-changed areas of the merge output file. This option must
be used with both –out and –b·lank_ignore.
- –base pname
- (merge only) Makes pname the base contributor
for a merge. Using –base turns off Query on All mode,
unless –qall is explicitly supplied. See also “Merge Automation”.
Merge Automation
- Default
- If you do not specify a base contributor with –base,
Query on All mode is enabled. In this mode, xcleardiff prompts
you to accept or reject each change, insertion, or deletion found in contributors
2 through n on the command line. The options described
in this subsection have no effect.
If you specify a base contributor with –base, xcleardiff performs
the merge automatically, prompting only if two or more contributors modify
the same section of the base contributor. If all changes can be merged automatically, xcleardiff prompts
you before saving the merge results file.
- –query –qall –abort (mutually
exclusive)
- –query turns off
automatic merging for nontrivial merges (where two or more contributors differ
from the base file) and prompts you to proceed with every change in the from-versions.
Changes in the to-version are accepted unless a conflict exists.
–qall turns off
automatic acceptance of changes in which only one contributor differs from
the base file. In this mode, xcleardiff prompts you to
accept or reject each modification (relative to the base file) in each contributor,
as it does when two or more contributors differ from the base contributor.
You can switch this mode interactively during the xcleardiff session.
–abort is intended
for use with scripts or batch jobs that involve merges. It allows completely
automatic merges to proceed, but aborts any merge that would require user
interaction.
X Window System Options
- Default
- None.
- X-options
- xcleardiff accepts
all the standard X Toolkit command-line options (for example, –display),
as described in the X(1) reference page. If the option
string includes white space, enclose the string in quotes.
Diff/Merge Contributors
- Default
- None. You must specify at least two files for a diff operation,
and at least one file for a merge operation (two, if a base contributor is
not supplied with –base).
- contrib-pname ...
- The files to be compared or merged. If
a merge operation does not explicitly include a base contributor with –base,
the first contrib-pname becomes the base contributor.
For a diff operation, xcleardiff does not calculate a common
ancestor (see the diff reference page);
the first contrib-pname is the base contributor
against which subsequent contributors are compared.
EXAMPLES
- Compare
two files in different directories.
- Compare
two HTML files and invoke the type manager for HTML files.