[cvsnt] mirror/synchronize cvs repositories (CVSNTUpd) ?
Bo Berglund
bo.berglund at telia.com
Wed Nov 30 23:10:27 GMT 2005
On Wed, 30 Nov 2005 20:40:11 -0200, Gerhard Fiedler
<lists at connectionbrazil.com> wrote:
>
>And the server wouldn't be tied up. I'm not sure how you come to that
>conclusion; if that's the case when you do it, you must be doing something
>wrong. Of course I would not mirror the life repository; I'd mirror a local
>snapshot copy. That one is created rather quickly, doesn't take longer than
>a backup. (Which one could use for synchronizing... so not even a second
>snapshot necessary.)
>
Gerard,
for mirroring over dialup you should be able to use a batch file that
you store on the CVSNT server to create your copy files. I do this in
order to copy the latest stuff over from one PC to the one with the
tape backup system. This batch file could do the following (notice:
the newsreader is wrapping long lines...):
net stop cvs
xcopy c:\cvsrepo\*.* c:\mycvsbackup /M /E /C /H /R /K /Y >
c:\cvscopy.log
net start cvs
Set up a scheduled task that runs this batch file regularly (nighttime
at the developer's location). Notice that the /M flag will copy only
files that have been changed (archive attribute ON) and then it resets
the archive attribute. This way the xcopy will only operate on the
repository files that have actually changed between the times you
execute the batch file.
Arrange a modem on the CVS server so that you can dial up to it and
log in.
When you are connected you can copy the files in the c:\mycvsbackup
folder (and subfolders) via the dialup link to your own mirror server
repository and overwrite any file there with the same name.
Once this is done you can then delete the files in c:\mycvsbackup so
that next time you will not again copy files you have already copied
if they are not again modified.
This copy function could also be a batch file on your own PC so that
it can do first the copy and then the delete.
This way you can create a mirror image of the active server as it was
when the scheduled task ran. Of course you will have to start out by
having one very big transfer to get the initial state of the
repository. If you do this with the batch file then you should first
remove the /M switch to make sure you get all files initially. Then
you have to reset the archive attribute by running the same batch
immediately again but now with the /M switch in place. This will give
you everything from the repository and leaves the repo files with
Archive OFF, ready to be used the next day.
I hope this helps....
/Bo
(Bo Berglund, developer in Sweden)
More information about the cvsnt
mailing list