[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 29 Jun 2001 14:54:50 -0400
I'm currently looking at CVS and would very much like to get it working in a
multisite environment. Looking around the web the University of Washington
has some excellent information on how to run CVS in a master/slave
relationship and be able to develop on the slave. See
Their solution involves using CVSup and a patched version of CVS. The patch
ensures that the RCS branch numbers are unique for the CVS servers. This
allows further updates from the master to be propagated to the slave without
destroying work performed on the slave. See patch
I'd like to produce a peer to peer replicating system. Given the information
from the University of Washington there doesn't seem to be any reason than
CVSup couldn't be used in both direction.
So we have CVS repositories RES01 and RES02. RES01 has CVSup configured to
pull changes from RES02, and RES02 has CVSup configured to pull changes from
RES01. Using the patch listed above it should be possible for users to
develop on both systems and have changes propagated bi-directionally. You
would then have a system where a site has read-write access to all their own
branches and read-only access to all other branches.
Given the current patches and software it appears that this could be made to
work now. I haven't tried it yet but I'm certainly going to have a go.
However the solution proposed above seems somewhat cumbersome and error
prone. The patch listed above expects the CVS user to correctly configure
an environment variable to some arbitrary number to ensure that RCS branch
numbers don't clash. It would seem more elegant to configure the CVS server
with the appropriate magic number and have the client retrieve this value
when checking out modules.
The second weakness of the above solution is that you are reliant on not
modifying branches that are owned by remote sites. I have seen branch
locking discussed on this forum before and it seems generally thought to be
a good idea.
I was looking to write some code to
1 - Provide an option RCS branch generation number from the CVS server and
hold it in the appropriate (?) CVS sandbox file.
2 - Look to implement branch locking in a manner that would be convenient
for use in a multi site system. There appear to of been branch locking
patches in the past but it doesn't appear to be in the current official
I haven't hacked on CVS before and am wondering how acceptable such patches
would be and whether any one is currently working in this area ?
NOTICE: The information contained in this electronic mail transmission is
intended by Convergys Corporation for the use of the named individual or
entity to which it is directed and may contain information that is
privileged or otherwise confidential. If you have received this electronic
mail transmission in error, please delete it from your system without
copying or forwarding it, and notify the sender of the error by reply email
or by telephone (collect), so that the sender's address records can be