emacs-devel
[Top][All Lists]
Advanced

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

Re: bzr repository ready?


From: Stefan Monnier
Subject: Re: bzr repository ready?
Date: Sun, 22 Nov 2009 21:45:51 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

>> scp -r bzr.sv.gnu.org:/srv/bzr/emacs .
>> cd emacs/trunk; bzr checkout
>> bzr pull sftp://bzr.sv.gnu.org/srv/bzr/emacs/trunk

> I think you are partially wrong on this. With the scp you are cloning
> (in the filesystem meaning) the directory where the GNU emacs repository
> lives. This includes all branches, which means all VC metadata (history,
> etc).

Yes, that's right.  I don't thin kI implied otherwise.

> I guess that the administrators used the --no-trees option when
> they created the repository.

Could be.  But it's not relevant to the above example.

> The `pull' you do at the end is unnecessary because you already have
> the most recent data from the repository.

The purpose is not to get the most recent data.  It's two fold:
1- to set the .bzr/branch/branch.conf's parent_branch.
2- so that the same recipe can be used if you download a tarball (just
   eplace the scp with wget+untar), in which case the pull will be
   useful to download the latest revision.

> Your recipe is the right one for testing the CVS->bzr conversion (check
> that all CVS branches and tags are there, etc). But for hacking, IMO scp
> is highly discouraged, as there is no guarantee that you obtain the
> repository on a consitent state

That's a good point.  Really we'll want to recommend the wget+untar
recipe and avoid the scp alotogether.

> and it may completely fail if the administrators fuse the emacs repo
> into a global bzr repo for all GNU projects.

Don't worry about this.  It wouldn't make any sense whatsoever.

> Besides, you usually are interested on one or two branches,
> not on the whole repository.

The time it takes to "bzr clone" a single branch from the Emacs
repository is many times larger than downloading the tarball containing
every single banch.

Actually, the Emacs history doesn't have many branches, so there really
is little difference between "just the trunk" and "everything under the
sun".

> So for hacking the best thing is to

> # Initialize a shared repository:
> $ bzr init-repo emacs-dev
> $ cd emacs-dev
> # Get the branch you are interested on:
> $ bzr branch sftp://bzr.sv.gnu.org/srv/bzr/emacs/trunk

Even with a very fast connection to the internet, this step takes ages.
Given the current state of Bzr optimization, I don't think we should
impose this kind of hassle on our potential contributors.  That's why
the current plan is to offer a tarball which could be updated once
a month or so.

> Please note that the tarball method gives you the state of the project
> at the time it was made, but of course you want to update your files
> whenever necessary. For that you need read-only access to the
> repository. If you can give http access to bzr.sv.gnu.org/srv/bzr/emacs,
> forget about the tarballs and be done with that.

There is http access already: http://bzr.savannah.gnu.org/r/emacs
But again, the problem is the inefficiency of Bzr.


        Stefan




reply via email to

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