groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] GNU Bazaar import of Groff


From: Colin Watson
Subject: Re: [Groff] GNU Bazaar import of Groff
Date: Mon, 16 Feb 2009 11:41:01 +0000
User-agent: Mutt/1.5.18 (2008-05-17)

On Mon, Feb 16, 2009 at 12:14:07PM +0100, Werner LEMBERG wrote:
> My main reason for using git is that I'm used to it because I need it
> in other projects.  I've also used mercurial (the ALSA project), but
> interestingly they have switched to git.  The `gitk' program is really
> good stuff (and `hgk' for mercurial is a direct clone) -- I suppose
> something similar is available for bzr.

'bzr vis' in bzr-gtk, yes.

(I understand the "what I'm used to" argument. I have the same in
reverse.)

> The main critique on the emacs mailing list w.r.t. bzr is that it is
> (a) not mature yet

This one is odd. It's a free software project and thus continually
evolving, but it seems pretty mature to me. Perhaps people are referring
to changing repository formats, which are generally a response to
performance concerns; git's repository format has changed in the not too
distant past as well, although bzr makes it more obvious and makes it
easier to convert between formats.

> and (b) extremely slow compared to git, sometimes slower by a factor
> 10 or more, even for the most fundamental operations like the
> equivalent to `cvs log'.

This is the standard criticism. It might matter for very large projects
like Emacs with very deep history but is not in practice a problem for
smaller projects (and certainly any distributed VCS will be much faster
than 'cvs log' since they don't need to go to the network for this
data). Personally, I find that I lose much more time to battling with
obscure user interfaces than I've ever lost in waiting for bzr (computer
time is cheap, brain time is expensive); for normal operations on the
projects I work with it's easily fast enough.

Let's have some perspective on the numbers we're talking about here:

  groff$ time bzr log ChangeLog >/dev/null
  
  real    0m1.382s
  user    0m1.288s
  sys     0m0.068s

Even creating a new branch and copying all the data to a new working
tree only takes 10 seconds, and not much is going to take longer than
that. That's with the default setup where each branch is an independent
directory; if you set up what bzr calls a repository so that the branch
data is shared then it would be faster; if you only want a single
working tree for all your branches and just switch between them
(git-style) then I expect it would be faster still. I usually don't
bother with those optimisations and find it more useful to be able to
see different branches on disk at the same time, but one could.

(Performance is also a major focus of the bzr developers now, for the
sake of the large projects where it does matter.)


I don't really want to get into a major revision control system fight
here; as I said earlier it seems to be clearly Werner's decision. I
didn't want to leave undefended assertions lying around though!

-- 
Colin Watson                                       address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]