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 d | Run Fossil dired - like cvs-examine |
C-x v l | When in a file, show log |
v | In VC, do next action: merge/update/checkin |
Credits
- Venkat Iyer <venkat@comit.com>: Original author.
- Alfred M. Szmidt <ams@gnu.org>: Random stuff.
- Barak A. Pearlmutter <barak@pearlmutter.net>: Major cleanup of my initial versions,
- Frank Fischer <frank-fischer@shadow-soft.de>: Colorized logs, annotate, fixes for diff output.
- Paul Onions <ponions37@gmail.com>: GNU Emacs 25 support.
- Stefan Monnier <monnier@iro.umontreal.ca>: Bug fixes.
Mirrors
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.