Hi all,

As you might have seen from my commit messages, I've started hacking
on a revision-list mode for DVC.

You can have a look at it in dvc-revlist.el. Xtla uses it, and you can
also run dvc-log in a bzr project.

The idea is, as usual, to put as much code as possible in DVC, and as
few as possible in the back-ends. And "as usual", it pays back:

$ wc -l bzr-revision.el dvc-revlist.el
  134 bzr-revision.el
  261 dvc-revlist.el
  395 total
$

there is twice more generic code than bzr-specific code at the moment.
I probably broke a few things on the tla/baz side, but it still works
for me after a bit of testing.

The idea is the one I presented some time ago: there's a common mode
defining the ewoc, and the common functions, and each backend defines
its own parsers and printer. The revision list is conceptually a list
of lisp structures, for which it is easy to retrieve any information.
However, the printer provides an interface similar to the command-line
printer.

Next step: implement the `=' of Xtla to display a changeset in
dvc-diff-mode, which will provide ediff integration almost for free.

Stefan (or anyone else indeed ;-) ), are you interested in
implementing an xhg-log on the same model?

-- 
Matthieu

Reply via email to