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

Svn status -N scanning too deep?

From: Simon Large <slarge_at_blazepoint.co.uk>
Date: 2004-12-08 19:25:24 CET

I have been trying to work out why my Windows client is slow getting top
level WC status, so I tried using Filemon.exe to monitor every file
open. It seems that svn status is recursing deeper than it should.

Windows 2000 SP4
SVN 1.1.1 r11581
file:/// access to an FSFS database on the same PC

md c:\Temp\StatusTest
cd c:\Temp\StatusTest
rd /s /q StatRep
rd /s /q StatWC
svnadmin create --fs-type fsfs StatRep
md StatWC
md StatWC\Sub
for %%x in (1 2 3 4 5 6 7 8 9) do md StatWC\Sub\Deep-%%x
for %%x in (1 2 3 4 5 6 7 8 9) do md StatWC\Sub\Deep-1\Pit-%%x
svn import -m Import StatWC file:///C:/Temp/StatusTest/StatRep/
rd /s /q StatWC
md StatWC
svn checkout file:///C:/Temp/StatusTest/StatRep/ StatWC

Now if I start Filemon capturing all file opens I get something like
this (with a lot of path searching and APR module opens removed):

svn status -N StatWC

SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\entries
SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\entries
No PATH C:\Temp\StatusTest\.svn\format
No PATH C:\Temp\StatusTest\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\.svn\entries
SUCCESS C:\Temp\StatusTest\StatWC\Sub\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\.svn\entries
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-5\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-6\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-7\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-8\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-9\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-1\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-2\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-3\.svn\format
SUCCESS C:\Temp\StatusTest\StatWC\Sub\Deep-4\.svn\format
No PATH C:\Temp\StatusTest\.svn\format
No PATH C:\Temp\StatusTest\.svn\format
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-prop-base
SUCCESS C:\Temp\StatusTest\StatWC\
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\.svn\dir-prop-base
No FILE C:\Temp\StatusTest\StatWC\Sub\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\Sub\.svn\dir-props
No FILE C:\Temp\StatusTest\StatWC\Sub\.svn\dir-prop-base

Curiously, it appears to have 2 attempts at getting status. The first
one looks in all the subfolders (Sub), and also in sub-sub folders
(Sub/Deep-N). The second attempt looks just in subfolders.

If I get status of StatWC/Sub instead, then it only goes into the
immediate sub folders, and not down to the next level, so the 'problem'
only exists at WC root level.

For a slow laptop like mine, this makes things noticeably slower when
TSVN looks in a folder which contains several working copies. For each
of the WCs it will effectively do svn status -N, which then goes down 2
levels within that WC. That can be an awful lot of file opens.

What is going on here? Am I doing something wrong, is it a deliberate
feature, or is it a bug?

Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 8 19:30:25 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.