On Fri, Dec 10, 2004 at 12:44:35PM +0100, Christof Petig wrote:
[intentionally breaking deep the mail threading]
graydon hoare schrieb:
let's just focus on real bugs and easily-agreed-on
improvements for a while.
I'm sorry I can't drop this topic. Switching to monotone to do real
_work_ would be dramatically easier if we had a monotone CVS
synchronization.
I don't think these two things are incompatible; it turns out that
trying to solve linearization stuff for all of Monotone is a rat's
hole, but with some care it should be perfectly possible to do
something that works just for CVS synchronization...
For instance, something like: whenever you push a revision into
CVS/pull a CVS state out into a revision, mark that revision with some
cert. The point of this cert is to record enough information to let
you later reconstruct the mapping between CVS and Monotone revisions.
When you want to synch between CVS and Monotone, proceed in two
stages. First, find the last Monotone revision with such a cert, call
it A. Next, if further changes have been made in CVS, pull them out
and commit them as children of A. Now, again find the last Monotone
revision with such a cert, call it B. If it has no children, then
stop. If it has 1 or more children, then pick a child
semi-arbitrarily, push that into CVS, name that child B, and repeat.
This is all vague and there are lots of details to work out, but maybe
it gives you some ideas...