Rewriting Ubuntu branches
James Westby
jw+debian at jameswestby.net
Mon Dec 14 00:48:17 GMT 2009
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.
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.
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?
How does this plan sound? Does anyone want to take on a particular part of
it?
Thanks,
James
More information about the ubuntu-distributed-devel
mailing list