views:

1254

answers:

11

I plan on starting a small team for programming and would like to see what experts think about the best Source Control and Intergration with Visual Studio (most current version) is. We have VS Pro 3.5 SP1. (Developing ASP.Net MVC Web APP)

Thanks,

+15  A: 

We've got Subversion with TortoiseSVN and CruiseControl.NET setup here for our first MVC Application. So far it's been working out pretty well so I would recommend it.

EDIT:

Forgot to mention they are both free which is of significance depending on your situation. Also, I haven't tried any VS integration because we have some stuff that we don't use VS for so I just keep it relegated to the file system. We haven't even really fully configured Cruise Control yet, but my favorite part is that once I know something is working I can commit it and once I get the notification email that it built successfully I instantly know I've improved the product.

EDIT #2:

We've since switched over to using Hudson. It has more of a graphical interface and allows you to skip the whole XML file configuration thing. A couple of things to note though:

  1. It is based on Java but in my experience isn't all that difficult to set up if you take your time and follow the instructions. It still works fine for .NET apps.

  2. You will need to add a post-commit hook to SVN (or the equivalent for your source control setup) to have it wget the build url. Alternatively, you can have it poll SVN automatically every few minutes/hours. It varies between projects for us, I have a few set up each way.

  3. We use robocopy to move the files by running a batch script after the build, when files are copied over though, robocopy produces a different exit code than when it copies no files, which causes Hudson to think there was an error. I worked around this by simply duplicating each robocopy command I use.

dhulk
Yeah pretty much the same thing here, except using Teamcity instead of CC.Net.
Min
I've been playing around with VisualSVN Server and TortoiseSVN at home, and so far I'm pretty happy with the results. We use a proprietary system at work that I wish was externally available, but sadly is not.
Furious Coder
Same here except we also use TeamCity. I'd fully recommend using VisualSVN Server - it makes SVN server management a breeze. Also, definately use VisualSVN in conjunction with VS... makes everything done in VS easy as pie. Ankhsvn aint bad but VisualSVN is worth the small price tag.
Charlino
I'm happy with AnkhSVN
Blorgbeard
With Subversion you can combine an integrated and an external subversion client. E.g. AnkhSVN to automatic follow your refactorings and renames in VS and TortoiseSVN for in your explorer.
Bert Huijben
+4  A: 

If you've got the cash, Team System has been great for my department.

http://msdn.microsoft.com/en-us/teamsystem/default.aspx

theG
Even without the entire Team System, Team Foundation Server is great. I believe it's something like US$3,000
John Saunders
+5  A: 

I use ankhsvn, it's free and works really well. I haven't had any problems with it yet.

Nathan W
+1  A: 

We use the team foundation server. It's great for our team as it's got a gui frontend. If you don't have a need for a gui front end out of the box then I'd probably go with subversion. I know a team that uses subversion and cruiscontrol in the php world and love it.

Robert
+1  A: 

I also use Subversion along with TortoiseSVN but I don't bother with the VS integration (although I did buy Visual SVN, I don't use it). The other thing to add, though, is that I have had good luck with a relatively inexpensive SVN service called Beanstalk. It is easy to set up and takes all the server headaches off my shoulders. They are at http://www.BeanstalkApp.com. I am not affiliated with them except as a customer but I do like to pass along recommendations when I like a product/service.

Mark Brittingham
Re VisualSVN - why don't you use it? The value to me is that it does all the administrative bollocks when VS generates support files, or I rename something. I could certainly do this myself but VSVN never forgets and never omits anything.
Peter Wone
My solution has a Data Access project (DLL), an NUnit project and a business layer (DLL) in addition to the main ASP.NET project. I keep them in separate directories and separate Repositories and this confuses VisualSVN. TortoiseSVN, on the other hand, has no problem with it.
Mark Brittingham
+11  A: 

anything besides Visual SourceSafe.....

Michael Kniskern
Or SourceGear Vault....
ChrisF
@ChrisF - why not?
orip
+1  A: 

Perforce is good - but it's been three years since I used it so I don't know how it compares against Subversion et al these days.

ChrisF
A: 

The one that works best for you, your environment and your budget.

Personally I have user Visual Source Safe, SourceAnywhere and Subversion. All in all, I prefer Subversion with the VisualSVN client.

mattruma
+7  A: 

I use SVN, TortoiseSVN and VisualSVN.

TortoiseSVN is far and away the best Windows shell integrated UI. What VisualSVN brings to the party is perfect integration with Visual Studio 2008.

Prior to acquiring VisualSVN we were using TortoiseSVN manually, and the problem with that is that the implicitly created support files are frequently not added to source control resulting in a broken build. It's easy to fix but it's a big time-waster.

VisualSVN makes that hassle disappear immediately and completely.

If you have more money than sense, VS Team System addresses these issues and is the only one I've ever seen with source control you can apply directly to the objects in a database (SP, function, table, view etc).

At the budget end of the market, SVN + TortoiseSVN + VisualSVN. At the other end of town, VSTS is hard to beat.

I'm always puzzled by the people who don't want to host their own repositories. It's dead easy to do, and the SVN protocol is so efficient I can barely tell the difference between local access and remote use via the internet - and our internet gateway at work is a piddly 512K DSL shared by 20 people. Last time I tried AnkhSVN it was flaky as fresh-baked apple pie.

Peter Wone
When was the last time you tried Ankh? I keep hearing that it's buggy, but I've had no problems in the 6 months or so I've been using it.
Blorgbeard
+4  A: 

If money is not an issue, the source control in Team Foundation Server is great. Flawless integration and the ability to add policies and alerts on check ins makes it really easy for people to know what is going on with the code. TFS also has the capability to hook into cruise control or other build agents for continuous integration.

I have also used SVN and beyond a few bugs have found it very budget friendly - FREE.

In the end, you are best served to make sure your code is at least backed up in another location like a network drive at a minimum. For code history and other features, SVN, VSS, and TFS would all meet your needs. Money is probably the driving force here though.

RSolberg
I wouldn't exactly say *flawless* integration, but it's quite good. If you have a need for the feature set of TFS it's very impressive. Once you start using shelvesets you'll wonder how you got along without them.
Wedge
A: 

I tried further, and the Subversion + TortoiseSVN + VisualSVN is the best I found. If you are looking for a continuous integration server, Hudson is a good choice (it's better than CruiseControl.Net)

labilbe