[cvsnt] Hundreds of little green fish

Bo Berglund bo.berglund at telia.com
Wed Jun 22 23:11:53 BST 2005


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.


On Wed, 22 Jun 2005 15:02:55 -0500, "Joelle Tegwen" <tegwe002 at umn.edu>
wrote:

>Sure,
>I'm running CVSNT 2.5.01 build 1927 on Windows Server 2003.  

Upgrade to 1976!

>I have a scheduled task that runs the following script: 
>cd ..
>cd ..
>set cvsroot=c:\cvs\cvsrepo
No good cvsroot and then again you don't need this if you already have
a sandbox in place. It will not be used anyway.

>cd inetpub
>cd wwwroot
cd \inetpub\wwwroot\youthood

>cvs co youthhood
cvs update
>
>The script runs as user: me.
>
>I don't know the capacity of the machine it's on, but it's slow, slow, slow.
>
>When the script was running every 2 minutes it was really bad. 20-30 fish or
>more regularly. That was during "pre-release" where fast updates were
>important. Now we're doing regular development and we're at 5 minute
>increments and I usually have 2-3 fish but I have seen 20-30 fish. If I kill
>the cvslock service in the task manager the computer speeds up a lot and the
>fish go away.
>
>Is this enough information?

At least it tells us that you are doing things in a very strange
way....

1. If you are working with CVSNT 2.5.01 you should at least update it
when bugs are fixed. 1976 is the current recommended version and 1927
had a number of bugs that might bite you. Not recommended.

2. You should not set up a scheduled task for getting the latest
sources like that! Put the website update code in the postcommand
script instead.

3. I assume that your website is already a checked out sandbox on
HEAD. Then the set cvsroot command in your batch file serves no
purpose. And the cvsroot setting you use is also bogus, that is not a
valid CVSROOT for a server operation!

If you had looked in the cvsnt helpfile you would have seen the item
on keeping a website current...

I would do it the following way:

A) Create a batch file that will do what you need:
@echo off
rem only process this if command was commit
IF NOT '%2'=='commit' goto exit
c:
cd \inetpub\wwwroot\youthood
cvs update
:exit

save the file somewhere, for example: c:\programs\cvsnt\websync.bat

B) make sure that the youthood folder and subfolders are checked out
using a decent client/server protocol. For example:
CVSROOT = :sspi:cvsserver:/repository
If it is already checked out then you have to remove it and then check
it out manually using the CVSROOT suggested above.

C) Put this in the postcommand file:
ALL c:/programs/cvsnt/websync.bat 

Now for each commit done in your repository there will be a cvs update
executed at the end of the commit. This means that the commands will
only execute if needed, namely if someone has actually committed
anything. And it is done immediately afterwards so there is no latency
either.

HTH


/Bo
(Bo Berglund, developer in Sweden)



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