[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: synchronizing multiple CVS-repositories .... ?

From: david
Subject: Re: synchronizing multiple CVS-repositories .... ?
Date: Mon, 17 Jun 2002 09:42:02 -0500 (CDT)

> What I want to do is this:
> (1) I want to have more than one copy of the CVS repository (cvs-root). They
> are equal, none is the "master".

Why?  What are you trying to accomplish with this?  CVS works very
nicely in a distributed fashion with a single repository, there being
large projects with developers all over the world who do this.

> (2) developers can see all files and checkout any version of any file
> without having to sync with another copy of the repository.

Obviously, there will have to be some sort of sync going on, but
presumably automatic.

> (3) There will be a rule that a developer can only modify a file after
> creating a branch. Any given branch is "owned" by one location (i.e. only
> the owning location can checkin new versions to that branch). But all
> locations can see all branches (some are just "read-only")
At this point, you've exceeded the data format CVS keeps the files in.
CVS really doesn't treat branches as special internally, and there is
no obvious way to keep track of branches and repositories.

Conceptually, also, there's a potential race condition here, when
two developers at different sites use the same branch name.  If
you care about revision numbers (and CVS does, even if you don't),
there's a much more likely race condition in that two branches of
different names will be assigned the same revision numbers.  Changing
the revision numbers is going to be a pain.
> (4) I need a tool that does something similar to cvsup/rsync (synchronize
> the content of a given file) but can merge the files at the same time.
> Logically this should not be a problem since simultaneous modifications to
> the same CVS element (file) can only have occured on separate branches.
Logically, assuming all branches are distinct, no.  Practically,
there is no support for this in CVS.
> => So far I am only looking for a solution that can merge two CVS items into
> one file. Thos two CVS items are actually that same file, where independent
> modifications have been made on independent branches.
I don't think there's anything for CVS that will do that, and, frankly,
I don't know what a merge of two CVS items would be.

If you really need distributed repositories, which I doubt, you
should look at some other system, possibly commercial.  If not,
you're making a whole lot of work for yourself by trying to use

David H. Thornley                        | If you want my opinion, ask.
address@hidden                       | If you don't, flee. | O-

reply via email to

[Prev in Thread] Current Thread [Next in Thread]