Hi all,
I just thought I'd send out a brief update on the state of mtn<-
>CVS syncing. (I'm talking about a gateway between mtn and CVS, not
a one-off transfer of information. There are other branches for that.)
A while ago I made a branch from Christof's cvssync trunk. He did
most of the heavy lifting, and I've just been playing around the
edges. I do not have a great understanding of the CVS linkage. With
that acknowledgment/disclaimer, this is what I have done:
The net.venge.monotone.cvssync.attrs branch is a usable, but not
polished, cvs-sync. It stores the sync information in attributes,
using a cert to mark which revisions are actually in sync. When
pulling from CVS, new revs are made as children of the last sync'd
rev. When pushing to CVS, only revs which children of the last
sync'd rev are pushed. At the end of a push a new rev is committed
to mtn with the updated sync attributes.
I've been using this system for a while, tracking some development
here that was mainly being done in CVS. It basically works well.
There are problems with more advanced features of MTN. e.g. I've had
problems when I've added a new directory hierarchy in mtn, and I want
to push it to CVS.
Rather than fix those problems, I've just assumed that new directory
hierarchies can be created in CVS. I have added an --extended-
checking flag to "pull" which, as the name suggests, performs
extended checking. It also causes mtn_cvs to try to fix any sync
issues it finds. Some history information may be lost, but it seems
to at least bring the heads back into sync.
The branch itself is originally a branch of the main monotone trunk.
mtn_cvs is a directory that requires it be placed inside a monotone
source dir to build. There are also a few small changes you need to
make to that main source dir. I've pulled these out into a mtn_cvs/
mainline.patch file. This allows the use of mtn_cvs with a checkout
of the mainline: apply the patch to your mainline, copy the mtn_cvs
dir from the branch into your mainline source dir, and then re-
acinit, autoconf and make.
I hope others find this useful.
Cheers,
Will :-}
_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel