Eskil can compare versions in many revision control systems including 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.
Compare file.txt with the latest checked in version:
Compare file.txt with the specified version:
eskil -r rev file.txt
Compare the two revisions. This does not involve the local copy of file.txt.
eskil -r rev1 -r rev2 file.txt
The -r options are also available in the GUI in the "Rev 1" and "Rev 2" fields.
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.
When comparing a file with the latest checked in version, Eskil can commit directly to Fossil.
View all changes
If the command line option -review is used, Eskil will generate a patch for the current tree and display it as in patch mode.
eskil -review [files]
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.
Conflict mergingEskil can be used as the conflict resolution tool for Fossil by configuring the gmerge-command setting like this:
fossil settings gmerge-command 'eskil -fine -a "%baseline" "%merge" "%original" -o "%output"' -global