Usage discussion from the GNU Emacs project.
Óscar Fuentes
ofv at wanadoo.es
Wed Nov 25 05:38:31 GMT 2009
Ian Clatworthy <ian.clatworthy at canonical.com> writes:
[snip]
> Perhaps we could harvest their experience? Or is Emacs so large that
> it's a different kettle of fish?
I'm participating on the emacs discussion and posted quite a few
messages there trying to help the CVS-only guys. My everyday experience
with bzr consists on working with branches with less than 2000 revisions
and I'm quite happy so far. I'll summarize my impressions with the emacs
transition.
bzr supporting so many different workflows is not good for
beginners. Psychologists reported that having many options (typically,
more than 3) blocks decissions on people who are not experts on the
matter. Maybe the docs should emphasize two or three "highly
recommended" workflows describint them extensively and just hint at
other configurations as "advanced", without removing the blurb about
bazaar's flexibility.
This, added to the confused (for the beginner) terminology is damaging
the learning rate of those who only know CVS. In particular, the terms
"checkout", "lightweight checkout", "bound branch", "unbound branch"
created a lot of confussion among prominent developers who are new to
dVCS.
Perfomance sucks. Having to distribute a tarball with the repository
because bzr takes so long to clone "trunk" is a shame. It requires 23
minutes with the http protocol over ADSL 6Mb, on a fast machine (bzr
version 2.0). Besides, I discovered with much despair that cloning is a
CPU-bound process for bzr, as cloning the same branch to a 1.6 GHz
netbook over the local network with the sftp protocol took half an hour,
with the CPU almost always at 100% (bzr version 2.1-b3).
While cloning, the progress bar is worse than useless. It gives no clue
about how much remains to be done, so after 15 minutes of looking at it
it turns from boring to annoying. Actually, it exacerbates the
impression of bazaar's slowness.
(It is worth mentioning that 2.1-b3 required much less memory than 2.0
while cloning: 2.0 peaked at 1.0 GB, 2.1-b3 at 340 MB. 2.0 ran on a
Kubuntu 9.10 x86_64 machine and 2.1 on a Windows XP 32 bits, so maybe
this makes a bit of a difference, but does not explain a 65% reduction).
For some reason,
bzr branches http://bzr.savannah.gnu.org/r/emacs
takes 5 minutes.
Performance of local operations is slow too. Using a fast machine (Intel
Q6600, which is 2.4 GHz quad core, 8 MB Level 3 cache, 8 GB RAM, running
on 64 bit mode, Kubuntu 9.10, ext 3 filesystem) no log or annotate
operation that I tried takes less than 5 seconds, on files with lots of
revisions and on files with just a few revisions. I've seen some cases
that `bzr log' required 20 seconds before producing output (maybe due to
a cold cache). This is not a problem for those who only have experience
with CVS, but people who know git will feel uncomfortable and voice its
frustration. This will not revert the decission of using bzr for emacs,
but will damage bazaar's public image.
--
Óscar
More information about the bazaar
mailing list