<title>Fossil Support</title>
<h1>Fossil Support</h1>

<h2>Introduction</h2>

Eskil can compare versions in many revision control systems including
[http://www.fossil-scm.org | Fossil].

If you specify only one file on the command line to Eskil, it will
automatically detect if the file is under revision control and enter revision
control mode.

By default the local file is compared against the latest checked in version.
This is for the common case when you just want to know what you have changed
before checking in.

You can use the -r option to select which versions to compare.
The -r option works as in fossil finfo. If a revision is zero or a negative
integer,
the log is searched backwards for earlier versions. E.g. -1 gives the second
to last version. The search follows the current branch from the current version.


Examples:

Compare file.txt with the latest checked in version:
<pre>eskil file.txt</pre>

Compare file.txt with the specified version:
<pre>eskil -r rev file.txt</pre>

Compare the two revisions. This does not involve the local copy of file.txt.
<pre>eskil -r rev1 -r rev2 file.txt</pre>

The -r options are also available in the GUI in the "Rev 1" and "Rev 2" fields.

<h2>Directory Diff</h2>

Eskil can also browse and compare Fossil revisions in the directory diff.
It works just like for files, but give a directory on the command line.

<h2>Commit support</h2>

When comparing a file with the latest checked in version, Eskil can commit
directly to Fossil.

<h2>View all changes</h2>

If the command line option -review is used, Eskil will generate a patch
for the current tree and display it as in patch mode.

<verbatim>eskil -review [files] </verbatim>

If file names are given after -review, only the listed files are included.
The Commit button will be enabled allowing the viewed differences to be
committed directly from Eskil.

<h2>Conflict merging</h2>
Eskil can be used as the conflict resolution tool for Fossil by configuring
the gmerge-command setting like this:

<pre>fossil settings gmerge-command 'eskil -fine -a "%baseline" "%merge" "%original" -o "%output"' -global</pre>



