25
Vote

Overlay Icons in Solution Explorer that reflect the SVN status of an item

description

Icons that display for each item in the Solution Explorer the SVN status like modified, added, etc.

comments

mikeplex wrote Apr 23, 2010 at 11:53 AM

Our company project is huge. We have more than 300 subprojects. Currently I need about 11 of these projects in my solution. The windows explorer is slowed down dramatically by the status cache of tortoise. Thus I disabled it in the options of tortoise. Keep in mind, that it is possible, that the visual studio could be slowed down, too.

GysMuller wrote Aug 28, 2010 at 7:12 AM

I found vsTortoise extremely useful. Adding status icons to the solution explorer will increase user productivity a lot.

gianted wrote Sep 16, 2010 at 10:24 PM

Before discovering VS Tortoise, I used Tortoise SVN and a third-party plugin for VS. That plugin offers some overlays, very useful. However, I decided to uninstall it, thus install VS Tortoise in order to have a more effective homogeneity with Tortoise SVN. But the overlays, in my honest opinion, are a must-have feature.

andreone wrote Sep 29, 2010 at 11:04 AM

This feature has now 12 votes. Can we hope it will be implemented ever?
In my opinion, the addin loses half of its potential without it. This is actually the primary reason I want a subversion addin in VS.
Even 'no' as an answer is fine for me, I just want to know if we can expect this feature at some time.

pschraut wrote Sep 29, 2010 at 11:42 AM

Hi, I did plan to implement this feature. But ... I would need to implement some sort or very clever svn status caching to keep icons uptodate as well as Visual Studio fast. Everything I came up with so far (directory/file watchers etc), didn't fulfill this requirement.

Then I read about subversion 1.7 and the WorkingCopy-NextGeneration (WC-NG) change, where svn stuff is stored in a sqlite database rather than textfiles/.svn directories. This sounded to me that it's much easier to find a proper solution for this problem and thought I'd try to implement overlay icons for svn 1.7, but I didn't investigate further yet.

The feature is definitely on my todo list and I'll work on it eventually. If anyone has good ideas how to solve the problem to get/cache svn statuses for hundreds or thousands of items efficiently, please let me know.

dkrants wrote Nov 10, 2010 at 5:09 PM

I think that without this feature - it's really easy to miss files that have been checked out and changed.

djaggie wrote Nov 11, 2010 at 6:21 PM

I would find this very useful.

vmaviel wrote Dec 9, 2010 at 9:35 AM

All SVN tool hasve such a feature. It would be great as well as auto-update or lock check before editing a file.

Cyber1000 wrote Mar 2, 2011 at 8:34 AM

That would be THE feature, I'm missing too. I like your tool, it does what I want, but it should refelct the state somehow. I've found another plugin here at Codeplex "TortoiseSVN Addin for Visual Studio", it doesn't have this feature either, but is also in issue tracker. Perhaps you may share some thoughts with the other team?

Cyber1000 wrote Mar 2, 2011 at 9:09 PM

Have you ever looked at the SubWCRev-Command, it's in the same place as tortoiseProc and returns the modification state. Yeah caching would be a topic, do you know how tortoisesvn does this on it's own? Can we get something from there? Perhaps I'll have a look on your source code (already downloaded) and get some idea ...

pschraut wrote Mar 3, 2011 at 6:41 AM

@Cyber1000: I don't know if SubWCRev helps us further. Getting the modification state is implemented in VsTortoise already. VsTortoise uses SharpSvn (http://sharpsvn.open.collab.net), it's a .NET library/wrapper for SVN which I use for these kind of tasks. However, VsTortoise does not have clever caching implemented, maybe calls to SubWCRev would use the TortoiseSVN cache, I don't know.

I haven't looked deeply into the TortoiseSVN caching scheme, I just know that it's a process that permanently scans your working copies in the background. When I looked at it, I didn't find any way to communicate with TSVNCache.exe, which would be my favoriate implementation I guess, because as far I remember, it took quite long (several years) to get this cache working correctly and fast in TortoiseSVN.

I know the TSVN Visual Studio add-in project here on codeplex, but the icon overlay implementation has not been completed yet and the project seems to be abandoned. I also looked at the AnkhSVN (http://ankhsvn.open.collab.net) sources, which features icon overlays as well, but for some reason it's extremely complicated and hacky?, just to display an icon in the Solution Explorer. I was unsure when I look at the code, if this would be the proper way to implement it.

Another project I recently found that implements icon overlays is Git Source Control Provider (http://gitscc.codeplex.com). But I didn't look at the source code yet.

olijons77 wrote Jun 8, 2011 at 11:54 AM

This feature would be the "cream on the cake" :)

pschraut wrote Feb 13, 2012 at 5:45 PM

Can anyone provide a simple code example, that adds icons to the solution explorer? The code should be for an add-on project type, not for a VsPackage.

Everything I found so far seemed brutally complicated and I was not really able to figure out how this can be done.