On Fri, Sep 5, 2008 at 12:14 PM, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> Robert Dailey wrote:
> > On Wed, Sep 3, 2008 at 12:19 PM, Robert Dailey <rcdailey_at_gmail.com
> > <mailto:rcdailey_at_gmail.com>> wrote:
> >
> > Alright, this one is extremely hard to explain so I'll do my best.
> > Please let me know if I need to provide more information.
> >
> > The nightly build I'm using is:
> > TortoiseSVN-1.5.99.13807-dev-x64-svn-1.6.0-dev.msi
> >
> >
> > <snip>
> >
> >
> > Sorry, I forgot to summarize what the actual problem is:
> >
> > The unversioned icon overlay (The question mark symbol) is not presented
> > on unversioned directories under certain circumstances. The steps I gave
> > previously will outline the steps you need to take in order to evoke the
> > issue.
>
> I spent some time trying to reproduce this and step through the code.
> While I can reproduce it, I can't fix this without rewriting the whole
> status cache.
>
> I'd like to explain why the 'unversioned' overlay for folders doesn't
> work as you expect:
>
> The status cache keeps the status of files and folder grouped by
> folders. For example, a folder object in the cache keeps the status of
> all its immediate children (files and folders).
> If you create a new unversioned folder, the cache first re-fetches the
> status of the parent folder (i.e., the folder where you created the new
> folder in). If the parent folder is versioned, the new folder gets a
> status of 'unversioned'.
> But later, the cache crawls the new folder itself. Since that folder is
> not versioned, the status changes to 'none', because a folder doesn't
> keep information whether it is inside a versioned folder or not: folders
> are treated as independent objects (because you can move versioned
> folders around as you like, they're not really attached to their parent
> folders).
So this is doomed to remain broken forever? While this isn't a very
important issue in general, it just itches at me a little bit (I'm OCD about
little things like this lol). I understand things how you explain it, but I
find it hard to imagine a *complete* rewrite being required to fix this
issue. Is it a result of bad design? I cannot judge, I have not seen the
source code. But I do sympathize this situation, I wish I could do something
to help.
Thanks for taking the time to look into the issue. Maybe I should stop
reporting bugs, it seems to make everyone depressed :P
Received on 2008-09-05 20:40:05 CEST