2009/12/14 James Westby <jw+deb...@jameswestby.net>:
> Hi,
>
> I wanted to split this out of the large mail so that we could complete
> a design of how this would work.
>
> Here's my initial proposal based on the feedback from that thread.
>
>  1) bzr-builddeb decorates pull, merge and perhaps a couple of other
>     commands to catch the diverged error, and check whether the branch
>     has been rewritten so that we can prompt the user with the correct
>     way to proceed.

In general whenever we're decorating commands we should ask whether
there is a more appropriate place to do the extension.  I think here
perhaps it would be better to add a hook called when an operation is
going to fail due to divergence, giving it the chance to clean it up.
That could be useful to other people.

>  2) We ship map files in some known location, package-import.ubuntu.com say.
>     These contain revision id pairs and file id pairs corresponding to
>     the old branches and the new branches. Is just listing plain file ids
>     safe, or do we need (revision id, file id) pairs to do this correctly.

I'm not sure I understand, perhaps due to reading this out of order.
If you want to express: 'revision id R with inventory I is equivalent
to R' with I'' then just listing the filed ids should be enough?

>
>  3) Either bzr-rewrite itself, of something based on the code in there
>     will be used to rewrite a given branch using the information in the
>     map files.
>
> Open questions:
>
>  * Should we bother with file id maps, or just match based on path?
>  * Should we put the old revision ids in to revision properties of
>    the new revisions? This could be the marker for the decorated
>    commands, and make the map files smaller. It does inflate the
>    size of the branches for ever though. If we don't, what should
>    the marker be?

It sounds like this is going towards a more general 'replaces'
relationship between revisions, which ought to be treated as part of
the merge graph but generally not shown in logs etc?

-- 
Martin <http://launchpad.net/~mbp/>

-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel

Reply via email to