At 10:55 03/02/2005 +0100, you wrote:
>Hi Will,
>
>I assume that your 'lazy tree walking strategy' keeps a todo list of the
>paths to walk. Do you have any priority scheduling implemented?
No, not really. As part of a de-duplication process, the list gets
alphabetically sorted.
>The reason I'm asking is that when I enter a directory under version control
>(C:\foo), that directory should be walked first.
Ah, if only life was a simple as 'entering directories' and 'walking a
single directory'.
The cache and the shell extension don't have any idea of 'entering' a
directory, they just have to answer questions that the shell puts to them.
When you're 'in' a directory, and hit F5, the shell will generally ask for
the status of all the members of that directory. Sometimes (depending on
what kind of view you have, column requests, etc) it will also ask for the
status of directory itself.
I think Stefan and I have both concluded, independently, a long time apart,
that the best thing to do when you're asked for an item is to ask for the
status of the folder which contains it. This is an important decision to
make, because SVN allows you to fetch the status of a folder in two ways -
either by asking for the status of its parent, or by asking for the folder
itself. There are pros and cons.
>If I click on a
>subdirectory (C:\foo\bar), assign highest priority to C:\foo\bar and delay
>walking through all the others which are not below c:\foo\bar
I think you're almost certainly right that something clever can be done to
improve the order of the walk. However, it can't be defined in terms of
'entering folders' or 'clicking on things', because that's not the level at
which we interact with the shell. I am generally unhappy with the way that
the crawler's work list is built-up and executed - I will try and get this
better.
>Tonights nightly still shakes my A: drive :-)
Can you give a repro for this, along with your settings. It doesn't do it
here. (Well, I'm not using the nightly, but I am building off the same
source.)
I'm sure I don't need to say this, but you did do a reboot, didn't
you... (The change was to the shell extension, not the cache app)
Cheers,
Will
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Feb 3 11:27:37 2005