Browsing Bazaar

A. S. Budden abudden at gmail.com
Thu Jan 22 18:52:23 GMT 2009


Dear all,

Having (sort of: see the other thread on the topic) converted my
subversion repository to bazaar, I have been investigating it with a
view to switching at some point in the near future (I'm currently
still using subversion for active development but am taking notes on
what I've done so far).  I have come across a number of positives and
points of confusion, so I thought I would jot these down in this email
in the hope that I can encourage people by way of the positives and
get some answers to the points of confusion!

First of all, it should be emphasised that I've been a fairly happy
(solo, but multiple computer and operating system) subversion user for
a while and it is due to a couple of simple reasons that I am
considering changing:

1) Merging in subversion is a pain
2) I like the capability to work offline (and still commit) when
working with a bazaar repository.

I am very keen on the idea of having a central repository (apart from
anything else, it's easier to back up), so the closest model in the
Bazaar User Guide would probably be 5.1: Centralised Development.
Most of the timer, I will be working on a single working copy, but
committing to a shared repository containing all of the various
projects I work on.  I really like the flexibility that bazaar seems
to offer: distributed branches when desired, but centralised
development when more appropriate.

The main problem that I have had so far (apart from those discussed in
the repository conversion thread) is regarding browsing a shared
repository: I have a repository on a server that is being 'served'
with "bzr serve --directory=/path/to/repo".  On the computer used for
making modifications (we'll assume no security for simplicity), I want
to checkout a project.  I can't remember where it is.  In subversion,
I would do:

$ svn ls svn://servername/
applications/
development/
documents/
$ svn ls svn://servername/applications/
firefox/
vim/
$ svn ls svn://servername/applications/vim/
vimfiles/
$ svn co svn://servername/applications/vim/vimfiles/

(In practice, I can probably remember a few bits).

On bazaar, I do:

$ bzr ls bzr://servername/
bzr: ERROR: Not a branch: "bzr://servername/".

Bother.  I know it's not a branch, but how do I find the branches?!

$ bzr co bzr://servername/applications/vim/vimfiles/
This still works!

Also, if I use "bzr ls" on bzr://servername/applications/vim/vimfiles,
I get a (rather unmanageable) recursive file listing.  If I add the
--non-recursive option, I get nothing at all.  I can get round this
with something like:

bzr ls  bzr://localhost/applications/vim/vimfiles/  | grep
'bzr://localhost/applications/vim/vimfiles/[^/]*/\?$'

but surely this shouldn't be necessary?!  It also doesn't distinguish
files and directories (no '/' on the end of directories).  I realise
that it can be done with the apache server option or by connecting to
the server with ssh/sftp and browsing the file system, but this seems
a little indirect and it is strange that the server has an 'ls'
command but doesn't really support browsing.  Am I missing something?

Many thanks in advance for any suggestions you might have.

Al



More information about the bazaar mailing list