Hi,

On investigating the "hang" described in the user's group [1], I checked 
why TSVN is accessing wc.db even though the working copy path is set as 
Don't show.

In CShellExt::Initialize, the code is:
For each selected item
  - For item 0: call g_shellCache.IsVersioned
     - Which in turn calls SVNHelper::IsVersioned  <= This is accessing 
wc.db
  - Resolve shortcuts, unless we previously found a WC ("shortcut inside a 
working copy should not be resolved so it can be added to version control 
and handled as versioned later")
  - Check if the path is in the Don't show list (ie, 
g_shellCache.IsContextPathAllowed)

How about moving the call to IsContextPathAllowed to the top of loop? If a 
folder is in the don't show list, then we shouldn't show the context menu 
at all - right?

There should possibly be a separate call to IsContextPathAllowed when a 
shortcut has been resolved as well to see if the shortcut points to a 
folder that is in the Don't show list.

WDYT?

Kind regards,
Daniel


[1] https://groups.google.com/g/tortoisesvn/c/BjYlMU4Bg6A

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tortoisesvn-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/81d4a7b1-537f-484a-95b4-47d5671c6923n%40googlegroups.com.

Reply via email to