[cvsnt] Betr.: Re: Latest Updates - CVSNT 2.5.04 Build 3052 (RC6) and 3055(RC7)

Jan Keirse jan.keirse at tvh.be
Wed May 7 09:23:04 BST 2008


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Hello Arthur, 

what's the sync protocol for? 
If a read-only client connected to the slave server does an update of a 
file that has been changed in the master  but has not yet been rsynced to 
the slave, will the sync protocol be used to provide the client with the 
updates in the master, or will the client only get the updates that had 
already been rsynced to the slave server?


Kind Regards,

JAN KEIRSE
ICT-DEPARTMENT
Software quality & Systems: Software Engineer
Tel.:    +32 56 43 42 45
Fax:    +32 56 43 44 46
E-mail: jan.keirse at tvh.com
Contactsheet: JAN KEIRSE TVH FORKLIFT PARTS nv-sa -  BRABANTSTRAAT 15 - 
B-8790 WAREGEM 
Take a break to visit our site and tell us how we can help you today: 
www.tvh.com Before printing I think about the environment. 

"Arthur Barrett" <arthur.barrett at march-hare.com> schreef op 06/05/2008 
23:55:44:

> Jan/Gerhard,
> 
> OK - second try - I left out some important info the first time...
> 
> > > Great - we definitely need someone to write the documentation... ;)
> > > 
> > > This feature has been stable for some time, I've been using 
> > > it myself to
> > > test it out (albeit on a debian linux 'server').
> > 
> > Could you give us a hint on how to get it up and running?
> > 
> 
> Another documentation volunteer!  The current documentation is in the
> source code ;)
> 
> 
> Overview
> --------------
> 
> 1. The slave communicates to the master cvsnt server using the :sync:
> protocol - so that must be installed. 
> 
> 2. You need to install some mechanism to 'sync' the master repo back to
> the client (excluding the CVSROOT directory).  On linux you can use
> 'rsync' or on windows or linux you can use 'unison'.  Our current setup
> uses 'rsync'  2.6.9.
> 
> 3. You can optionally create a CVSROOT script (postcommit, postcommand)
> on the 'slave' to automatically fire off an rsync.
> 
> 
> Detail
> --------------
> 
> 1.
> Obviously you get the 'master' repository up and running first (which is
> the same as it has always been) then you set up a slave.
> 
> 2.
> On the slave you need to setup the sync protocol (examples taken from
> our server with only the physical locations and passwords changed):
> 
> 'slave' /etc/cvsnt/Plugins
> SyncProtocol=1
> 
> 'slave' /etc/cvsnt/PServer
> Repository0=/opt/repo/cvs
> Repository0Name=/cvs
> Repository0Description=CVSNT Repository mirror
> Repository0Default=1
> Repository0Publish=1
> Repository0Online=1
> Repository0Type=3
> Repository0RemoteServer=remote.server.org
> Repository0RemoteRepository=/usr/local/cvs
> Repository0ProxyPhysicalFiles=/var/repo/proxy
> Repository0ProxyPasswdFiles=1
> Repository0RemotePassphrase=&^$&(HDIDLS?
> CompressionLevel=0
> CertificateFile=/etc/cvsnt/secret.pem
> PrivateKeyFile=/etc/cvsnt/secret.pem
> AnonymousUsername=cvs
> AnonymousProtocol=pserver
> 
> 'master' /etc/cvsnt/Plugins
> SyncProtocol=1
> 
> 'master' /etc/cvsnt/PServer
> 
> Repository0=/var/repo/cvs
> Repository0Name=/usr/local/cvs
> Repository0Description=cvsnt main repository
> Repository0Default=1
> Repository0Publish=1
> Repository0Online=1
> CertificateFile=/etc/cvsnt/brain.crt
> PrivateKeyFile=/etc/cvsnt/brain.key
> ServerPassphrase=&^$&(HDIDLS?
> RunAsUser=woopie
> AllowTrace=1
> AnonymousUsername=cvs
> AnonymousProtocol=pserver
> 
> These settings are also available in the Windows CVSNT Control Panel.
> 
> The 'passphrases' I believe are 'passwd' encrypted.
> 
> 
> 3.
> You need to install some mechanism to 'sync' the master repo back to the
> client (excluding the CVSROOT directory).  On linux you can use 'rsync'
> or on windows or linux you can use 'unison'.  Our current setup uses
> 'rsync'  2.6.9.
> 
> note: this described technique uses rsync - do not attempt to set up
> rsync on windows - use unison instead.
> Note2: the commercial version of CVSNT 'CVS Suite Plus' or 'CVS Suite
> Multi Site' due for release in a few months uses a plugin for this part
> - the 'sync' trigger.
> 
> 'slave' crontab (on windows use the windows scheduler)
> # m h  dom mon dow   command
> # run every 5 minutes
> */5 * * * 0-6    /path/to/rsync.sh
> 
> 
> 
> You can optionally create a CVSROOT script (postcommit, postcommand) on
> the 'slave' to automatically fire off an rsync.
> 
> 
> 'slave' CVSROOT/postcommand:
> #
> /path/to/rsync.sh
> 
> 
> 
> 'slave' /path/to/rsync.sh 
> 
> #!/bin/sh
> # /usr/sbin/ntpdate 0.au.pool.ntp.org
> 
> ps -ef | grep /usr/bin/r[s]ync
> while [ "$?" -eq 0 ]
> do
>    exit
>    echo "rsync users still active, try in 30 seconds"
>    sleep 30
>    ps -ef | grep /usr/bin/r[s]ync
> done
> 
> echo "+++++++++++++++++" >> /path/to/cvs-sync.log
> date  >> /path/to/cvs-sync.log
> echo "+++++++++++++++++" >> /path/to/cvs-time.log
> date  >> /path/to/cvs-time.log
> echo "+++++++++++++++++" >> /path/to/cvs-sync.err
> date  >> /path/to/cvs-sync.err
> /usr/bin/time -a -o /path/to/cvs-time.log /usr/bin/rsync -4 -avz
> --delete --exclude CVSROOT remote.server.org::rsync-name /opt/repo/cvs
> >> /path/to/cvs-sync.log 2>> /path/to/cvs-sync.err
> date  >> /path/to/cvs-sync.log
> echo "-----------------" >> /path/to/cvs-sync.log
> date  >> /path/to/cvs-time.log
> echo "-----------------" >> /path/to/cvs-time.log
> date  >> /path/to/cvs-sync.log 2>> /path/to/cvs-sync.err
> echo "-----------------" >> /path/to/cvs-sync.err
> 
> 
> 
> 'master'  /etc/rsyncd.conf
> [rsync-name]
>         comment = master private sync
>         path = /var/repo/cvs
>         use chroot = yes
>         read only = yes
>         list = no
>         uid = nobody
>         gid = nogroup
>         hosts allow = 11.11.111.111 22.22.222.222 33.333.0.0/16
> 10.0.0.0/8
>         strict modes = yes
>         ignore errors = no
>         ignore nonreadable = yes
>         timeout = 600
>         refuse options = checksum dry-run
>         dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2
> *.tbz
> 
> 
> 
> OK - that really is pretty much all I have.
> 
> 
> Regards,
> 
> 
> Arthur
> 

**** DISCLAIMER ****
<A HREF="http://www.tvh.be/newen/pages/emaildisclaimer.html">
http://www.tvh.be/newen/pages/emaildisclaimer.html </A>

"This message is delivered to all addressees subject to the conditions
set forth in the attached disclaimer, which is an integral part of this
message."



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook