supporting user interfaces

jan janmar at
Mon Mar 28 06:41:40 BST 2005

I've started writing a simple emacs mode and need some info on how
certain features are intended to be supported.

Firstly, I'd like to support diff's between arbitrary revisions of a
file but there are a couple of issues:

a. Finding which versions are available. It would be nice to have a
   verbose option for the status command that prints all the info
   available for the listed files.

b. Extracting a revision of a file, preferably printed to stdout.

I'd also like to support cherry-picking commits. I think this would be
best supported by a commit-diff command eg.

bzr commit_diff -m 'commit message' 'diff text'
bzr commit -m 'commit message' -d 'diff text'

I could then write a cherry-picking mode for ediff taking (file, diff)
as input and producing a subset of diff for output to commit-diff. It
should also be possible to support splitting diff's to allow
arbitrarily fine resolution of picking. All the complexity would
remain external to bzr.

Merging and conflict resolution needs to be considered aswell, at the
moment I'm assuming that bazaar will do the hard work and on my end it
will just involve hooking up emerge. Too optimistic?


More information about the bazaar mailing list