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
