Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

DVC (for "Distributed Version Control") is a framework to support distributed SCMs in Emacs. It's the successor of Xtla - the tla and Bazaar 1.x Emacs interface - and posed to be for distributed SCMs what VC is for traditional SCMs. This module intends to absorb the BzrEmacs and BzrEmacsConflicts from 3rdPartyTools.


As of this writing, it has basic bzr support (full support is being worked on), and baz support as good as xtla.


This HOWTO is a work in progress; of course, when DVC fully supports bzr, it will probably not even be necessary anymore. Meanwhile, it will document how to use DVC to work with bzr branches.

First, you need to get a fresh checkout of DVC; see the instructions on . You also need an up-to-date bzr (development version).

Then, compile and install it.

On my Gentoo laptop, autoreconf failed - it generated a bad configure script, which in turn was unable to write the makefiles. I have no clue why that happened; running autoreconf on the Ubuntu box and then running the resulting script on the laptop worked just fine.

Most of the bindings don't work with bzr yet; so no doing C-x V i (inventory), or . What you do have is diff (C-x V =), C-x V s (status), add log entry (C-x 4 T or C-x V a), ediff between a file and the last commited revision (C-x V e), and edit log before commit (C-x V c, or simply c in the diff buffer).

So in practice, your hack cycle is probably going to be something like:

  • add log entry
  • hack hack hack
  • (optionally) check the diff
  • hit the "add log entry" binding to go back to the log, or select it from the buffer menu
  • (optionally) correct or extend the log entry
  • commit (C-c C-c)

It's slightly inconvenient compared to my usual Xtla cycle, but it's good enough

Also: right now, your logs have to be ascii, or bzr will give you an UnicodeError.


Note from MatthieuMoy: the DVC team would like all Emacs-related stuffs to be merged in a single project. Less effort and better service for the users ... I've contacted the authors of bazaar.el and bzr-conflicts.el, without answer yet. If you're thinking of writting an Emacs mode related to bzr, contact us before. We already have a large code base (around 20,000 lines of lisp) that allows us to implement powerfull features relatively quickly, and a relatively important number of users (around 300 downloads for Xtla 1.1 which supports only tla and baz).