Performance of bzr update for lightweight checkout

Ulrich Mueller ulm at gentoo.org
Sat Feb 5 19:07:57 UTC 2011


>>>>> On Sat, 05 Feb 2011, Eric Siegerman wrote:

> I don't know why the download times from Launchpad and Savannah
> are so different, unless, as has been suggested, it's a simple
> lack of resources at their end.  Actually, here's another stab in
> the dark: I wonder if Savannah is running a pure-python bzr,
> without the compiled extensions.  Would that account for such a
> large speed difference on this particular operation?

Looks like they use the bzr package from Debian-lenny-backports,
which would install several _*.so files in bzrlib. They are still at
bzr 2.0.3 though:
<http://lists.gnu.org/archive/html/savannah-hackers/2011-01/msg00009.html>

> Regardless, here's a workaround.  For the initial download, do:
>     # Acceptably fast, but possibly out of date
>     bzr branch lp:emacs emacs-branch

>     # Sync with Savannah
>     cd emacs-branch
>     bzr pull --remember --overwrite \
>         bzr://bzr.savannah.gnu.org/emacs/trunk

> The "pull" should go quickly, since you'll already have most of
> the revisions locally.  The "--remember" option says to make the
> Savannah branch, not the LP one, our local branch's parent for
> future pulls.

Thank you for this suggestion. I've done a first test, and it looks
promising.

> The reason we specifically don't want "--overwrite" for
> subsequent updates is that it would blow away any revisions the
> Gentoo user might have committed locally.  They shouldn't do
> that; they should use another branch, not the pristine mirror of
> upstream that the ebuild maintains.  But if they do make that
> mistake, omitting "--overwrite" will let us fail safe (bzr will
> complain that a merge is needed) rather than silently clobbering
> their changes.

I think that's an unlikely scenario. From the location where the
branch is stored and from permissions (its files belong to the package
manager) it should be clear that it's not intended for local commits.

Anyway, I'm not going to add the --overwrite for subsequent pulls.

Ulrich



More information about the bazaar mailing list