[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] use WIN32_RETRY_LOOP also for cygwin

From: Mathias Weinert <mathias.weinert_at_gfa-net.de>
Date: 2006-05-15 16:07:56 CEST

Max Bowsher wrote:
> Mathias Weinert wrote:
> > I have a script which does several actions to a test repository. It
> > looks like this:
> >
> > cd to wc
> > for 50 times do
> > generate three new files by copying an existing one (just copy, not svn copy)
> > add these three files
> > change one file again by copying one file over an existing one
> > svn ci
> > svn up -r HEAD
> > svn up -r PREV
> > reset repository by changing the revision number in db/current
> > svn up
> > done
> >
> > When I run this script I at least get two or three times a "permission
> > denied" error which occurs at various actions of my script.
>
> OK, can you send the actual script?

Sure (now when I am back from holiday). The following script is a
slightly modified version of my original one as the original one was
using one of my test repositories. This one starts with creating a
new repository:

#!/bin/bash

rm -rf repos
rm -rf work

svnadmin create repos
echo "[general]
anon-access = write" > repos/conf/svnserve.conf
svn co svn://weinert/temp/repos work
cd work
ls -la /usr/bin > file1
ls /usr/bin > file2
svn add file*
svn ci -m ""

cp ../repos/db/current ../db.1

for (( TESTNUM=1 ; TESTNUM<=50 ; ++TESTNUM )) ; do
  echo "========================= $TESTNUM ========================="
  cp file1 file1.1
  cp file1 file1.2
  cp file1 file1.3
  svn add file1.*
  cp file1 file2
  svn ci -m ""
  svn up -r HEAD
  svn up -r PREV
  cp ../db.1 ../repos/db/current
  svn up
done
cd ..

#end of script

After running this script with
$ ./doit.sh >out 2>&1

I get (e.g.):
$ cat out | grep "^=\|svn:" | grep -B 1 svn:
========================= 29 =========================
svn: Can't move '.svn/tmp/entries' to '.svn/entries': Permission denied

When I run this script while no other (significant) process is running I
sometimes don't get any errors but when there is e.g. a compile job
running in the same time I get several errors, often leading to a locked
wc:
========================= 24 =========================
A file1.1
A file1.2
A file1.3
Adding file1.1
Adding file1.2
Adding file1.3
Sending file2
Transmitting file data ....
Committed revision 2.
At revision 2.
svn: In directory '.'
svn: Error processing command 'delete-entry' in '.'
svn: Can't move '.svn/tmp/entries' to '.svn/entries': Permission denied
D file1.1
svn: Working copy '.' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

>
> >> Because I've been using Subversion on Cygwin for years, and have never
> >> experienced any errors which would encourage me to switch on
> >> WIN32_RETRY_LOOP - have I just been absurdly lucky?
> >
> > Maybe you are such a lucky guy - or you just have another virus
> > scanner (or configuration)...
> >
> > FYI I have McAfee VirusScan installed (always the latest version).
>
> I have used McAfee VirusScan 7.0, 7.1, and 8.0i at various times.

My VirusScan is called "McAfee VirusScan v4.5.1 SP1". So may be you
have to change "always the latest version" to "always with latest
virus definitions".

Mathias

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon May 15 16:08:42 2006

This is an archived mail posted to the Subversion Dev mailing list.