CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Peter's Gekko

public Blog MyNotepad : Imho { }

VisualSVN and TortoiseSVN

Almost holiday time, time to tidy up all work. Recently I moved to Tortoise SVN for all my source control needs. Getting that to work was not that difficult, but to keep it up and running for my set of Visual Studio solutions took a little more effort than I had hoped. The enormous amount of "hidden" files tools like Resharper, nHibernate and VS itself leaves on your disk takes a lot of maintenance. Tortoise SVN has an an exclude files list, this kept growing and growing. Did you know there are CACHE, cache and Cache files ? (Yes you can use expressions in the exclude list) Things got worse when a deployment project was added. Switching from a debug to a build version was enough to get in an endless number of requests for a cleanup and "X is not a working copy directory" error messages.

Instead of diving deep into SVN configuration I gave Visual SVN a try. This is an add-on for Visual Studio which integrates subversion into Visual Studio. Its is a commercial product. A 30 day full functional trail and $49 for a license. With the current Euro-Dollar exchange rate the ROI was almost instantaneous.

Visual SVN requires the latest Tortoise SVN to be installed. TortoiseSVN has a built in "check for updates" and considered itself fully up to date at version 1.48. The VisualSVN setup didn't go for less than 1.50, thank goodness the link built into the setup started the required update. After a reboot (due to the windows shell integration of TortoiseSVN) Visual SVN installed without a glitch in both Visual Studio versions it found on my machine, 2005 and 2008.

Visual SVN takes a more subtle approach than Tortoise SVN. In TSVN I just submitted the whole folder to a repository and set the files to exclude in a filter. With VSVN you submit a solution to SVN from a VS (context) menu. VSVN will create the repository for you and submit just the needed files. No more, no less. End of filter hell. End of working folder hell.

Before creating a nice new clean repository I had to get the code out of the existing messed up one. This took a little effort. You can copy or move sources under SVN control around. The good thing is that SVN will keep track of the underlying repository. The bad thing is that the way to get rid of this repository binding is well hidden in the docs. To un-version a source you have to export it to itself. In the context menu select Tortoise SVN | Export. When prompted for a directory pick the source directory itself. SVN will prompt "Do you want to make this working copy unversioned?". A confirmation will free the source by removing the svn information.

VisualSVN works very well together with TortoiseSVN. You can view and do everything from both Visual Studio and the Windows Explorer with SVN.

No big difference. What I like far better in VS are the overlay icons. They a far more subtle than the default Tortoise SVN ones. And they update immediately after a status update. In the Windows explorer they really lag behind (on my Vista machine). Displaying the right icons often requires reopening the explorer window.

That's it, another improvement of my toolbox. And all sources ready for holiday.



Comments

Romain Verdier said:

One difference - the most important imho - is the transparent managing of all rename/delete/move operations.

# June 30, 2008 11:14 AM

defeated said:

Have you tried Ankh 2.0, the free SVN Add-In for Visual Studio? ankhsvn.open.collab.net (I'd love to see a comparison to the for-pay VisualSVN client.)

# June 30, 2008 7:08 PM

Sean Chambers said:

I have been using VisualSVN for about a year now and couldn't live without. By far one of the most useful tools in my toolbox.

# June 30, 2008 9:28 PM

Lex Y. Li said:

Ankh 2.0 was buggy so I gave it up minutes later. I evaluated VisualSVN but I did not want to buy it. I just want to access my folder inside VS and successfully I found this free StudioTools a month ago

www.exactmagic.com/.../index.html

By opening a File Explorer panel inside VS, now I can easily monitor the folders and launch TortoiseSVN commands easily.

# July 1, 2008 1:21 AM

pvanooijen said:

The only thing I've heard about Ankh that it's buggy. Given the price of a VisualSVN license I consider the choice a no-brainer.

# July 1, 2008 4:10 AM

Arjan`s World » LINKBLOG for July 1, 2008 said:

Pingback from  Arjan`s World    » LINKBLOG for July 1, 2008

# July 1, 2008 3:46 PM

Travis said:

The concept of SVN is brilliant but the support is terrible. You could get a lot of hits if you would make a super user friendly guide for this solution (include screenshots, diagrams, and flow charts). Even tortoise's user guide link is broken (I wonder if they use version control). The price tag is reasonable for VisualSVN, but I don't like installing software (even trials) if I don't have a clear understanding on how to use it. Who knows what kind of damage this could do in Novice hands and I can only imagine what its like trying to implement it with a team of developers.

# July 2, 2008 9:50 PM

Roman said:

Unfortunately both are for Windows. I did use Tortoise SVN, but after migration to Mac I decided to learn the basic commands of svn.

So, at the end I am using no graphical tool.

# July 3, 2008 5:54 AM

Recent Faves Tagged With "visualsvn" : MyNetFaves said:

Pingback from  Recent Faves Tagged With "visualsvn" : MyNetFaves

# August 22, 2008 9:17 AM

Chikelue said:

Ankh was buggy some time ago but not now. The most recent version of Ankh that I have laid my hands on, AnkhSvn-2.0.5250.202 is wonderful. I am using it together with VisualSvn Server. I just decided to add the free TortoiseSvn Subversion client because of the Windows explorer context commands that it provides and because it is product-independent. It can be used for all types of IDE's or even for all types of documents. It can be used by developers and non-technical folks alike.

# November 28, 2008 3:59 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!

Our Sponsors

Proudly Partnered With


This Blog

Syndication

News