info-cvs
[Top][All Lists]
Advanced

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

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


From: Dale . Miller
Subject: RE: synchronizing multiple CVS-repositories .... ?
Date: Thu, 13 Jun 2002 07:32:47 -0500

Mr Henning,
 
You miss understand how CVS handles branches.  Branches in RCS (which CVS uses) are not handled in separate files.  All revisions and branches are handled within the ",v" file.  Internally the branches use a numeric branch number.  For example, if a file is at revision 1.4 and you create a branch, your branch will be 1.4.2 (user branches use the next available even (2,4,6...)  branch number, vender branches use odd numbers (1,3,5...).  Branches are given a symbolic tag name but internally they relate to a revisision.  If you have remote locations of a repository all containing this file at revision 1.4 and someone creates a branch at their location, their branch will be 1.4.2.  If someone creates a branch at a different location, their branch will be 1.4.2.  Their branch tag may be different.  All information about a file is stored in the ",v" file (revision numbers, branch tags, revision tags, comments, dates, times, etc).  About the only thing that is not in the ",v" file is the external name of the file.
 
Dale Miller
 
-----Original Message-----
From: Schmidt Henning (BNS USA) [mailto:address@hidden
Sent: Thursday, June 13, 2002 3:14 AM
To: 'address@hidden'; 'address@hidden'
Subject: RE: synchronizing multiple CVS-repositories .... ?

> Have you looked at rsync ?
>
>    http://samba.anu.edu.au/rsync/

rsync (as well as cvsup) can mirror/copy/transport an existing tree of files to a remote location. If someone had made some changes to the same files in that remote location (without checking them in, saving them elsewhere), then those changes are lost (overwritten) when doing a rsync/cvsup. This does not help me.

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".
(2) developers can see all files and checkout any version of any file without having to sync with another copy of the repository.

(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")

(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.

(At some point I would still have to merge those separate branches back into one common branch. That is a different issue, I want to address this separately.)

=> 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.

any thoughts?
thanks
;Henning


reply via email to

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