views:

167

answers:

4

I work for a small development team and have been using Tortoise and Visual SVN (for visual studio 2008 integration) for our source versioning. We primarily develop in c# .Net MVC but have some legacy apps in vb6 and classic ASP (so any system that could handle those as well is a plus).

I have never been 100% happy with tortoise (8 month old server setup), too many times it has messed up and resulted in us having to delete our code, redownload from the repository, copy back changes etc. Also seems to require a fair bit of human intervention on merging files even for what should be simple merges (two new files added to the csproj). So am looking at upgrading our source versioning.

What approaches do you recommend, we dont use unit tests much (I know...), and handle the app versioning through a separate update system, so mainly will be for merging and maintaining a backup of the source code while its in development. Should I upgrade to the latest Tortoise / Visual SVN? I stumbled onto SourceGear from here, is it any good? There is also the option of us installing Team Foundation Server. Any suggestions or recommendations for hassle free code merging and backup?

+3  A: 

Two new files added to the csproj may not be as simple as you think - TortoiseSVN doesn't know whether the ordering of the two new blocks is important or not, so it's understandable that it can't merge this reliably.

As for other problems, we have been using Visual SVN, TortoiseSVN with Visual Studio on a large and complex MVC/WCF project for a while now with no issues. The Subversion server itself is both old and a long way away. If you are having issues with a similar setup, dare I suggest they indicate that there are problems with the way you work with source control rather than the source control system you use?

Unit tests and continuous integration encourage frequent, small, atomic commits, which will generally keep everything in much better shape.

David M
+1 for small, frequent commits. That fixed our headaches when we moved from VSS to svn.
hometoast
Appreciate merging is not a simple task, was wondering if something out there handled it better (more intelligently) eg it knows the line order doesnt matter in certain files but does in others (visual svn could know this to a certain extent).As for the smaller atomic updates unfortunately with the way the development is done on site at clients sometimes overseas there are time that there will be a lot of updates at once. Definitely worth us looking into better update policies. But again maybe some apps handle this better than others.I do like alot of tortoise/vsvn but is there better
Matthew Hood
Visual SVN (client, not server, let's make that clear) doesn't know anything - it's a simple integration wrapper around TortoiseSVN.
David M
A: 

Personally I've used VisualSVN Server with AnkhSVN for Visual Studio integration, and I've never had any problems. You might want to post your specific issues and see if you can resolve them without switching your source control provider.

That said, if you still want to switch and you're not scared of the command line, I find Git to be very powerful. You can plug in any diff viewer you feel like for conflict resolution. There's a bit of a learning curve/paradigm shift because git isn't your traditional repository-based SCM tool, but I find the decentralized approach pretty convenient.

Even if you do find the centralized repository system preferable, you can still do that with Git either on windows file shares, or if you have a spare Linux box, you can use SSH. If you decide you like Git and want to see how it works from an ASP.NET MVC developer's perspective, Rob Conery has a lot of screencasts covering Git on TekPub. Good luck!

Scott Anderson
Dont necessarily want to change, just doing some research before deciding either way, thanks for the recommendations will check them out.
Matthew Hood
+1  A: 

The team I work on has been using SourceGear Vault for a couple years now and we have not run into any issues. It integrates nicely with Visual Studio (2008 and 2005) and merges files very well. Every once in a while we run into a file that it can't merge automatically, but it is very easy to merge manually through their interface. Overall we have been happy with SourceGear.

mc2thaH
A: 

I would recommend using SVN but not VisualSVN. While VisualSVN looks like an easier way, it sometimes behaves strangely on us, especially if you want to rename a file or delete it. I would recommend using SVN from Windows Explorer, it can save you many headaches.

Dragan B.
I never had a problem with VisualSVN
Mauricio Scheffer
I haven't had problems, either. I would recommend, however, when you do deletions (whether file or folder) that you always do an update prior to the commit.
Neil T.