GNU Emacs Integration for Fossil

This file contains a GNU Emacs VC backend for the Fossil version control system. You need GNU Emacs version 25.1 or later.

How Do I load Fossil support into Emacs?

Short answer:

Install the vc-fossil package from the non-GNU ELPA package repository then customize the vc-handled-backend variable by adding Fossil to its list of names.

Alternative, slightly longer, answer:

Instead of installing from non-GNU ELPA you can clone this source repository directly then add it manually to your Emacs setup as follows.

Add this to your .emacs file, or cut and paste this into the scratch buffer and do C-x C-e to execute it.

(add-to-list 'vc-handled-backends 'Fossil t)
(load-file "/path/to/this/project/vc/el/vc-fossil.el")

or if you would rather load the file lazily, compile the file (see below) and use this instead:

(add-to-list 'vc-handled-backends 'Fossil t)
(autoload 'vc-fossil-registered "/path/to/this/project/vc/el/vc-fossil.elc")

To compile the file (with warnings) do the following:

emacs -batch -q -no-site-file -eval '(byte-compile-file "vc-fossil.el")'

then you can load vc-fossil.elc, which should be nominally faster.

Using use-package

If you want to use use-package to setup vc-fossil; then this snippet might be helpfull:

(use-package vc-fossil
  ;; Keep from loading unnecessarily at startup.
  :defer t
  ;; This allows VC to load vc-fossil when needed.
  :init (add-to-list 'vc-handled-backends 'Fossil t))

What Emacs keys do I need?

This integrates Fossil into Emacs vc-mode. The same keys will work for inside a Fossil repository as for other version control system.

A few are:

C-x v dRun Fossil dired - like cvs-examine
C-x v lWhen in a file, show log
vIn VC, do next action: merge/update/checkin



The main repository is at https://tumbleweed.nu/r/vc-fossil and maintained by Alfred M. Szmidt.

A mirror of it also exists at https://chiselapp.com/user/venks/repository/emacs-fossil. If you're reading this on github, this is mirrored for non-GNU ELPA from https://github.com/venks1/emacs-fossil. Both maintained by Venkat Iyer.