'branches' questions.

Bosco Rama bzr at boscorama.com
Tue Jul 24 23:27:43 UTC 2012


Hi,

We have a relatively simple centralized main-line that consists
of a single shared-repo of about 500MB.  The structure resembles
the following:
    repo               (bzr init-repo --no-trees)
    +- proj1           (bzr init --no-tree --append-revisions-only)
    +- proj2           (bzr init --no-tree --append-revisions-only)
    +- proj3           (bzr init --no-tree --append-revisions-only)
    +- proj4           (bzr init --no-tree --append-revisions-only)
    +- tools
       +- tool1        (bzr init --no-tree --append-revisions-only)
       +- tool2        (bzr init --no-tree --append-revisions-only)
       +- tool3        (bzr init --no-tree --append-revisions-only)
       +- tool4        (bzr init --no-tree --append-revisions-only)

In addition to our devs we have a 'backup' process that is implemented
as a user (don't ask) that needs to be able to find new branches and
add them to its local repo.

The first thing we noticed is that 'bzr branches repo' doesn't return
the top-level branches as we expected.  Maybe we misunderstand what the
command is meant to do.

We've also come up against a performance issue with the 'branches' command
when run over SSH remotely.  We tested within the dir, ssh to localhost
and from a remote site.  Here are the timings (averaged over 3 runnings):

Within repo dir:
$ time bzr branches -R repo >/dev/null
real    0m1.077s
user    0m0.960s
sys     0m0.060s

SSH on same host/LAN:
$ time bzr branches -R bzr+ssh://bzr@localhost/repo >/dev/null
real    0m3.806s
user    0m1.380s
sys     0m0.050s

SSH from remote host (avg ping ~40ms):
$ time bzr branches -R bzr+ssh://bzr@remote-svr/repo >/dev/null
real    0m53.457s
user    0m0.670s
sys     0m0.210s

It seems like a rather large factor increase for what we thought would
be a relatively low consumption operation.  We can only assume that the
command is actually transferring structural data of some sort instead of
having the server-side perform the operation and return the results.  It
also seems to adversely affect qbzr.  Is there anything we can do on our
end to speed this operation up?

Any help understanding these would be greatly appreciated.

(BTW, this is using BZR 2.5.1 on Lucid).

TIA.

Bosco.



More information about the bazaar mailing list