Hi,

I'm attempting to set up the repository sync feature in 2.5.04 build 3155 (RC8) 
on a pair of Ubuntu 8.04 (Hardy) boxes and I'm not able to get it working 
properly.  I gather that there is no documentation for this feature yet, other 
than Arthur's helpful email at 
http://www.cvsnt.org/pipermail/cvsnt/2008-May/030642.html.

The situation so far:

1. I've set up two test servers (cvs1 and cvs2) with cvs1 being the master, 
cvs2 being the slave.  The PServer files for each are:

cvs1 (master):

Repository0=/home/cvs/repo
Repository0Name=/home/cvs/repo
Repository0Description=CVS master repository
Repository0Default=1
Repository0Publish=1
Repository0Online=1
CertificateFile=/etc/cvsnt/cvs1.crt
PrivateKeyFile=/etc/cvsnt/cvs1.key

cvs2 (slave):

Repository0=/home/cvs/repo
Repository0Name=/home/cvs/repo
Repository0Description=CVS slave repository
Repository0Default=1
Repository0Publish=1
Repository0Online=1
Repository0Type=3
Repository0RemoteServer=cvs1.airspan.com
Repository0RemoteRepository=/home/cvs/repo
Repository0ProxyPhysicalFiles=/home/cvs/repo
Repository0ProxyPasswdFiles=1
CertificateFile=/etc/cvsnt/cvs2.crt
PrivateKeyFile=/etc/cvsnt/cvs2.key

Everything else is left at the default value (i.e. as it is in PServer.example).

The certificate and private key files were generated using contrib/genkey on 
each machine. The same info (country code, state, city, org, etc) were entered 
in each case.


2. At this stage I am not bothered about setting up the rsync from cvs1 back to 
cvs2, I just want to get the slave passthrough operation working so that I can 
see tags and commits on the slave appear in the master's repository files. Once 
that's working I can get the rsync set up. So to start with I have simply 
duplicated the repository files from cvs1 to cvs2.


3. With this setup, I can go to a third client machine (which can see both cvs1 
and cv2) and do checkouts from the master cvs1 directly (after logging in):

$ cvs -d:sserver:[EMAIL PROTECTED]:/home/cvs/repo co -d repo.cvs1 repo ........ 
works fine

and also from cvs2, from the slave repo:

$ cvs -d:sserver:[EMAIL PROTECTED]:/home/cvs/repo co -d repo.cvs2 repo ........ 
works fine

so the :sserver: keys and so on seem to be set up correctly on each machine, 
and the read proxy operation seems to work fine from cvs2.


4. However, if I modify a file in the repo checked out from cvs2 and try to 
commit it, to test the write passthrough and sync protocol, I get

$ cvs commit -m "Test" a.c
Read data failed (5): Server dropped connection.
cvs [server aborted]: Error reading from server cvs1.airspan.com: -1

and the master repo on cvs1 is not touched at all.

(A ping from cvs2 to cvs1 works so the name can resolved OK.)




Can anyone point me in the right direction to diagnose what the problem is?  
One thing I have not set up is the ServerPassphrase and 
Repository0RemotePassphrase fields in PServer (neither for cvs1 nor cvs2), 
because I have no idea what to put in them... genkey didn't ask for a 
passphrase when generating the keys, and since the :sserver: logins, checkouts 
and updates work on cvs2, and login, checkout, update and commit work on cvs1, 
I guess they're not required.

Any help would be greatly appreciated.  I'll even offer to create a wiki entry 
for this if I can get it going... :-)

--
Tony Eva

_______________________________________________
cvsnt mailing list
[email protected]
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt

Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/

Reply via email to