← Back to team overview

launchpad-dev team mailing list archive

Re: First cut at recipe db-schema patch

 

On Wed Dec 02 06:53:49 -0500 2009 Jonathan Lange wrote:
> 3. Branches have the owner in the URL, not doing that here would seem
> to be inconsistent.

This for me is the convinving argument.

Branches have the owner as part of the name, this was decided early
on, perhaps with knowledge of issues such as the URLs breaking
(happens fairly frequently when e.g. your project matures so
 it's no longer controlled by ~you, but by ~your-project-dev).

As we used this system we learnt more about how it worked and
what the edge cases are, such as the interaction with bzr where
it stores the expanded URL as the parent, so even if you update
the dev focus people still end up at a dead end.

Now we have a very similar situation crop up, where we have the
same choice to make again, but with slightly differening concerns.
It may be that this requires a different answer, but I am yet
to see any argument that convinces me of that. It seems that
most of the desire to change it is from wanting to avoid the issues
we have seen with branches.

Therefore I think consistency should win out. As Jono said, if they
are different then to the user it can look like another weird
LP inconsistency. Also, taking the less-trodden path is tempting
because we avoid a pile of known issues, but it does open us up
to several new ones, and we will know less how to tackle them.

For instance we want inheritence in recipes. Therefore one needs
to reference another. In text form this may be by URI. Bazaar
has stacked branches that reference each other by relative URI,
which has some interesting characteristics, for instance look
at the dance that is required to upgrade branches on LP to 2a.
How will we store the inheritence in the DB, how will it be
presented? I don't know right now, but having the experience
with bzr URIs might help us design that.

In addition though, consistency has it's own benefits. What
if we decide the fix the issues with changing ownership changing
the URLs by, say, allowing redirects from the old name. If we
had chosen not to follow branches for recipes then we would still
have to solve the issues of having one namespace, we wouldn't
be able to re-use the work.

Therefore I think consistency should be the default, and only
if the differing circumstances require a different answer should
another approach be chosen. If the existing solution is so bad
that we don't want to use it then don't, but also consider fixing
up or changing the existing solution.

Thanks,

James




Follow ups

References