Re: Trying to start using bzr

From: Amos Jeffries <squid3@dont-contact.us>
Date: Mon, 31 Mar 2008 12:41:11 +1300 (NZDT)

> On Sun, 2008-03-30 at 17:10 +0200, Guido Serassio wrote:
>
>> - What are the branches currently available ? I need to work on old
>> SQUID-3_0 and SQUID_NT_3.0
>> - I don't know at all the bzr architecture, so what is the bzr
>> procedure equivalent to CVS checkout/update/commit ?
>
> My understanding is that no CVS branches other than trunk and
> squid3-ecap have been ported or moved to bzr. The decision to move is up
> to the branch maintainer.

I'll confirm that.

>
> You can see some bzr branches at
> https://code.launchpad.net/squid/+branches but, I am guessing, the
> official centralized list will be placed somewhere on the wiki,
> replacing http://devel.squid-cache.org/projects.html.
>
>> I think that the
>> main Squid 3 repository is not the better place to do some bzr
>> experiment .....
>
> I am not sure what you mean, but if you are talking about Squid3
> branches, then you can continue to use CVS for the branches you
> maintain. My understanding is that nobody forces developers to migrate
> to bzr, and that the CVS HEAD is kept in sync with the bzr trunk. Robert
> or Henrik will correct me if I am wrong, especially regarding the
> synchronization.
>

I believe you are right.

>
> I have just started using bzr this month. Based on that very limited
> experience, I would recommend to stay away from it unless you can
> tolerate many little problems and lack of documentation. The primary
> reason I am using it is to move version-controlled files. The secondary
> reason is to stress-test the instructions/infrastructure so that other,
> more fortunate, developers have fewer problems when they start migrating
> to bzr.
>

From my own experience and mistakes, I've updated the Squid3VCS wiki page
a little to make the recipes a bit clearer as to what they do.

The main change is to split the Setup recipe into its two component parts.
The first section did the actual setup. Which you need to follow, only
once.

The second did an initial checkout of trunk. Which is repeated for each
remote 'parent' branch checkout you need to do.

(In a way that original recipe for me, followed exactly, caused child
commits not to be submitted back to squid-cache.org without additional
work and bzr knowledge. I've fixed that is the current explanation.)

If you follow both steps (setup local bzr + checkout a parent copy of
trunk), then ALSO follow the recipe on 'creating a child branch to hack
on'.
The result will be a checkout folder (with a child name of your choosing)
which you can edit as you please, without fear of 'bzr commit' going back
to trunk.

To save your changes from the child branch to trunk the recipes "Submit a
patch for inclusion in the main tree or discussion" is needed for
non-comitters. Followed by "Commit directly to trunk" performed by someone
with commit permission when the changes are accepted.

It turns out to be very simple, when its explained right.

I just hope I'm getting this clear enough myself now.

Amos
Received on Sun Mar 30 2008 - 17:41:15 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Apr 01 2008 - 13:00:10 MDT