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

log cache corruption

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 14 May 2008 18:43:37 +0200

Stefan^2,

We've already got some crash reports for the RC releases where the log
cache got corrupted (I've sent you one via PM - the other ones crash for
the same reason). From what I could find out, this happens when users
set up test repos, remove them, create new test repos at the same
location -> the cache somehow fails to recognize that there's a
different repository even though the URL stays the same.

Now, even though we have to fix this bug and the crash, I suggest one
'fallback' for this:

if the cache can't be loaded (because it crashes), we should catch that
exception and remove the cache file automatically. That way the user can
keep working without crashing every time from that moment on. Yes I know
the user can clear the cache manually, but most users won't know that
the crash happens because of the cache (most won't even know about the
cache) and many won't come to the mailing list for help either - they
will just rant about TSVN instead.

So, I propose the following:
* before loading the cache file, rename it
* load the renamed file
* if there's a crash, next time the cache should be loaded it isn't
there anymore (only the renamed one which isn't used)
* if there's no crash (which should be the default :) ) then after a
successful load the file is renamed back

This however assumes that no two instances of TortoiseProc access the
cache file at the same time.

What do you think?

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Received on 2008-05-14 18:44:06 CEST

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

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