Caching directory uses Windows profile space

Bug #374764 reported by Rainer Glaschick
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
Low
Jelmer Vernooij

Bug Description

The caching uses the profile space (Documents and Settings/ApplicationData), which is not appropriate if Roaming profiles are used. There should be an option to set the caching directory from the user interface (and to limit its size).

Revision history for this message
Gary van der Merwe (garyvdm) wrote :

I'm not sure what cache you are referring to. As far as I am aware, tbzr only caches to memory, not to disk. I don't see anything related to tbzr in my ApplicationData dir.

What files do you see in ApplicationData?

Changed in tortoisebzr:
status: New → Incomplete
Revision history for this message
Rainer Glaschick (rainer-glaschick-pb) wrote :

On my (German) System, it is "C:\Dokumente und Einstellungen\rainer\Anwendungsdaten\bazaar\2.0\svn-cache\cb1518fe-2135-0410-9e75-822352dbcaf3\cache-v4"
i.e. under Application Data is a 'bazaar\2.0\svn-cache' directory, having UUID created subdirectories (who cleans these?)

As I write this, maybe this is a svn-plugin issue?

Bazaar (bzr) 1.11
  Python interpreter: C:\Programme\Bazaar\python25.dll 2.5.2
  Python standard library: C:\Programme\Bazaar\lib\library.zip
  bzrlib: C:\Programme\Bazaar\lib\library.zip\bzrlib
  Bazaar configuration: C:\Dokumente und Einstellungen\rainer\Anwendungsdaten\bazaar\2.0
  Bazaar log file: C:\Dokumente und Einstellungen\rainer\Eigene Dateien\.bzr.log

bzrtools 1.11
    Various useful commands for working with bzr.
launchpad
    Launchpad.net integration plugin for Bazaar.
netrc_credential_store
    Use ~/.netrc as a credential store for authentication.conf.
qbzr 0.9.6
    QBzr - Qt-based frontend for Bazaar
svn 0.4.17
    Support for Subversion branches
xmloutput 0.8.2
    This plugin provides xml output for status, log, annotate, missing, info,

Please excuse I did not supply this data the first time.

affects: tortoisebzr → bzr-svn
Changed in bzr-svn:
status: Incomplete → New
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

What sort of directory would be more appropriate?

Changed in bzr-svn:
importance: Undecided → Low
status: New → Triaged
Revision history for this message
Rainer Glaschick (rainer-glaschick-pb) wrote :

Normally, the environment variable TEMP points to a directory for temporary information; this would be my choice. Alternatively, it may be a registry (or other config file) entry; someone using floating profiles is normally able to change the registry.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Isn't there a more standard place for this? I.e. where do browsers store their cache?

Revision history for this message
Rainer Glaschick (rainer-glaschick-pb) wrote :

Internet Explorer uses profile space as standard, but the option dialog allows to put the cache anywhere on disk, and to limit its size.

For Firefox, the whole profile can be located outside the profile space, including the cache. Earlier versions used $TMP / $TEMP for this. Same with Thunderbird.

Adobe Reader version 6 uses $TEMP

Open Office 2 and Java itself are counterexamples, where I could not find out how inhibit spoiling profile space with temporary data.

Unless users like me change it, $TEMP points at $WINDIR/temp; the latter is cleared on each reboot.

So I see the following choices:
Use $TEMP, if present; this is easiest and ensures the cache is normally cleared automatically.
Or provide an option where to locate the cache, or limit its size via an option, or do both.

Revision history for this message
Matt Nordhoff (mnordhoff) wrote : Re: [Bug 374764] Re: Caching directory uses Windows profile space

Jelmer Vernooij wrote:
> Isn't there a more standard place for this? I.e. where do browsers store
> their cache?

Nowadays, Firefox buries it in C:\Documents and Settings\User\Local
Settings\Application Data. I'm not sure where it gets that from, though.
--

Revision history for this message
Rainer Glaschick (rainer-glaschick-pb) wrote :

Firefox uses there a profile.ini, where you can move the rest of the profile data out of Windows profile space, including the cache. Unfortunately, there is no option to determine the cache location itself; but you can limit the cache, so you can control the amout of space used. Using the about:config interface, you can disable disk caching completely. Also, you can instruct Firefox to clear the cache on exit; while this is primarily a security feature, it helps to keep the cache small.

Revision history for this message
Matt Nordhoff (mnordhoff) wrote :

This is off-topic, but you can change the location of Firefox's disk
cache (or at least could in the past):

<http://kb.mozillazine.org/Browser.cache.disk.parent_directory>

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

So, application data (which we are using now) seems like the sanest default. $TEMP seems like a bad idea to me, since this data should be kept after reboots (it's not a simple cache, it can be quite expensive to redetermine this information).

Revision history for this message
Rainer Glaschick (rainer-glaschick-pb) wrote :

Just for clarity: my request was not to change the default location, but to enable the user to specify it via some configuration mechanism.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I think we should get the location that we use by default right though, and preferably not have a configuration option that we have to worry about.

Revision history for this message
Mark Hammond (mhammond) wrote :

Wasn't it decided to use the "Local Settings" directory, via a new API (the exact name of which escapes me) which bzrlib now offers?

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Yeah, that's what bzr-svn should be using at the moment.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Just noticed the submitter is using an old version of bzr-svn that doesn't use get_local_appdata_location() yet.

Changed in bzr-svn:
assignee: nobody → Jelmer Vernooij (jelmer)
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.