launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #01071
Re: which version of bzr for launchpad?
On Thu, Sep 24, 2009 at 10:02 AM, Martin Pool <mbp@xxxxxxxxxxxxx> wrote:
> (Launchpad bounced my mail during the upgrade today)
>
>
> ---------- Forwarded message ----------
> From: Martin Pool <mbp@xxxxxxxxxxxxx>
> Date: 2009/9/24
> Subject: which version of bzr for launchpad?
> To: Launchpad Community Development Team
> <launchpad-dev@xxxxxxxxxxxxxxxxxxx>, Robert Collins
> <robertc@xxxxxxxxxxxxxxxxx>, John Arbash Meinel
> <john@xxxxxxxxxxxxxxxxx>, Ian Clatworthy
> <ian.clatworthy@xxxxxxxxxxxxx>, Vincent Ladeuil
> <v.ladeuil+lp@xxxxxxx>, Andrew Bennetts
> <andrew.bennetts@xxxxxxxxxxxxx>
>
>
> I had a talk to jml and thumper about this recently, and thought I
> would send a note here for the larger audience.
>
> Bazaar now maintains two branches, a stable/bugfix-only 2.0 branch,
> and an ongoing development branch 2.1dev. (See
> <http://doc.bazaar-vcs.org/developers/cycle.html>). As much as we
> can, we will make no changes to 2.0 that will break api compatibility,
> or any other kind. They will be able to interoperate on both the
> network and formats. The development branch may introduce new data
> formats, though we don't immediately anticipate doing this. It likely
> will add new smartserver verbs, but it will have a fallback for older
> servers. 2.1 will still be tested and get the same degree of care we
> always have, but we'll be a bit more free to remove deprecated or
> non-user-affecting compatibility code. So the only difference is the
> rate of change, not the degree of quality.
>
> The question then arises which version Launchpad should run for
> codehosting, and the answer is that it will run the development
> branch, 2.1b1 etc. People using old clients should be fine, and
> people using new features or formats introduced in the development
> branch will be able to use them against Launchpad. As we change APIs,
> Launchpad may need to update their own code, but they do this anyhow
> as part of their monthly integrations and it is not onerous.
>
The subject of your email is phrased as a question, but the content is
an answer, and I think it's a good one.
> Launchpad will at some point in the future add an edge codehost, which
> will run Launchpad's own tip, then be merged to the lpnet (ie stable)
> servers in monthly releases. edge will run only slightly ahead with
> the bzr version, for example being on 2.1b2 when lpnet is on 2.1b1.
> This gives some opportunity for testing.
>
FWIW, the edge codehosting service is waiting on our IS team to do
some network configuration.
> The biggest risk seems to be that a change in 2.1.x may introduce
> bugs, either to do with operation with old clients or otherwise. The
> best way to address this is (aside from general quality development)
> to test each release as it's integrated on the staging and edge
> codehost. At least this way we will find any such issues earlier in
> bzr's cycle rather than at the 2.1rc1 point.
>
> It may be interesting in the future to allow the client to specify the
> remote bzr commandname as eg 'bzr-2.0' and then we could have several
> available servers on the Launchpad side; this would require including
> multiple bzr trees in the deployment.
>
This would indeed be interesting. It would require a lot of work.
jml
Follow ups
References