Hi Will,
This sounds *really* promising. Reading it makes me want to descale my C and
start working on it :-)
> 1. Create a new application 'TSVNCache', which can run in the
As Toby already mentioned, Status information and start/stop cache should be
available on a TSVN Tab.
> So, the next step is to improve the cache:
...
> 5. Keep track of the modification time of files which are
> cached, and the
I don't understand how this is going to work. How do you want to keep track
of the times? Do you want to cycle through your cache entries slowly and
compare the cached data to the disk data? Do you want to hook into
windows-something so the cache gets notified if files / folders change?
> .... This is about where I've got to at the moment ....
>
> I don't currently implement recursive folder status, but my
> idea for this
> is to do something along the following lines:
>
> 1. Fetch the minimum required status information
> synchronously, as at the
> moment.
> 2. As a lazy, background task, recurse downwards from each
> folder which is
> cached, calculating the dominant SVN status for each folder.
You can stop the recursion at the point when you found the 'maximum'
dominant SVN Status for a folder. You are of course going to notice when you
are recursing into a folder that is already cached (with its dominant status
known), so you can stop there too.
Entering a folder should also propagate the status up towards the wc root
until it hits something 'stronger'
> 3. Issue shell-update requests for folders as their recursive status
> becomes known.
Neat :-)
> Because the cache is now so durable, usable recursive status
> becomes a real
> possibility, which I don't feel it is at the moment (it's more of a
> tantalising peek at how good it could be).
Yep, I always switch it on if I demo TortoiseSVN and tell people that it's
only usable for small projects, so they should switch it off :-|
> So, what do people think about all this? I'm particularly
> interested in
> people's views on the legitimacy of my cache invalidation
> strategy, but I'd
> welcome any input.
A cached WC status tree can be 'entered' anytime at any place inside the
tree. This can help us a lot in keeping information up to date.
Just out of interest. How much memory does a cached file/folder status
consume?
> When I get this a bit more together, I shall also be looking for some
> "people with enquiring minds" to try it out.
(x) Here!
Cheers
- Lübbe
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Fri Jan 21 09:03:32 2005