Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

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.

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.applicationporting.org/ CHEETALM

    me too liked it much. Thanks a lot for information. I have tried ankhSVN too. but really like VisualSVN

  • http://www.elvensoft.ro Elven Soft

    Export to the same directory saved my life today. Thank you!

  • Pingback: unversioned folders in SVN using Tortoise SVN » Programming

  • Elaine Murphy

    Try uberSVN (http://www.uberSVN.com) Single install of Subversion, Apache, administration UI, social coding environment and access control basic.

  • http://codebetter.com/members/pvanooijen/default.aspx pvanooijen

    The way I handle this kind of situation:
    – Check out all parts you need to transfer
    – Make these folders unversioned by exporting them to themselves. That is: tortoise svn context menu export, select folder, select the folder the files are allready in, tsvn will ask for a confirmation.
    – After that assmble your desired new project structure.
    – Add this project to SVN

    Now you still have the original repo with the old solution and a new one with the new project


  • matt

    Hi all. We are using Visual SVN but I can’t figure out how to move a folder from one repository to another one–does anyone know how?
    I found that you can export the whole repository to another named repository but I need to pick and choose folders.
    We created a new repository and want to migrate the old folders into the new repository structure…

    Please HELP!

  • http://www.hdgreetings.com ecards

    What would be great would be is MS adopted SVN for internal and external use.

    All the development effort being used for Team Server could go to making the best VS/SVN plug-in ever, and other useful plug-ins and polish.

    Wishful thinking I guess.

  • Chikelue

    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.

  • http://blog.zmok.net Roman

    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.

  • Travis

    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.

  • http://codebetter.com/blogs/peter.van.ooijen/ pvanooijen

    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.

  • http://lextm.cn Lex Y. Li

    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


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

  • https://schambers.lostechies.com Sean Chambers

    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.

  • http://claimid.com/defeated defeated

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

  • http://codingly.com Romain Verdier

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