Source Control with Visual Studio Integration (Preferably free) - visual-studio

We've been using Visual Source Safe 6.0d for quite some time now, and it has served us well. However, upon attempting to upgrade to SourceSafe 2005, we discovered that it costs an arm and a leg! Additionally, it does not appear to be a painless upgrade. That said, we want a different solution that costs less money (preferrably free). As long as it has Visual Studio integration, it will work for us.
I've heard that SubVersion with the VisualSVN plugin is a good alternative. Anybody made this switch before? If so, how painful was it?
EDIT: We have a small group of developers, less than 10. We don't need to have source control over the web, it will just be internal.

I'm a big fan of VisualSVN Server + AnkhSVN VS Integration. It's an easy and free setup and so far has been very painless. TortoiseSVN as a shell integration is an awesome compliment and well I don't know if you could do without.

I have used SVN for quite some time now and loves it's tight integration with CruiseControl.net regarding automated builds. I had used Tortoise for so long that I was quite comfortable with it's explorer plugins. However, many of my team members couldn't quite grasp Tortoise and complained constantly. Then we purchased VisualSVN and got them plugged in on that. All the pain went away and they were quite happy after that.
WAY BETTER THAN SourceSafe.

Our shop tried SVN quite a while ago, but after the bugginess we had with it (constantly updating tortoiseSVN, lack of good branching, and some other issues), we started to evaluate other options.
We finally settled on http://www.plasticscm.com/ PlasticSCM, it has some features of git/mercurial as far as really flexible branching and merging goes, and it integrates flawlessly with Visual Studio. Even some of our team members who had only used SourceSafe had no problems with it, as opposed to SVN.

We too were long-time users of Visual SourceSafe 6, and made the switch about 6 months ago to VisualSVN / TortoiseSVN, and we've never looked back. The extra productivity and flexibility its given our team of 4 developers is massive.
There is some getting used to the concepts of branching and merging, but nothing that isn't covered in the Subversion documentation.
I've found that I often use the TortoiseSVN Windows Explorer integration for most tasks like updating and committing, but VisualSVN is nicely integrated with the IDE and worth the money.

VisualSVN also costs (50$ per seat iirc), you can use AnkhSVN which is free alongside VisualSVN server.
There are quite a few scripts people have written to migrate sourcesafe repo's into svn that retain history etc.
It is well worth the move.

If you want a XXI century tool for version control, maybe mercurial is the one for you, you'll have a distributed version control and you'll be able to choose among many options for the development and release cycle. You can install tortoisehg. The integration with Visual Studio can be done via visualhg. I blogged about that a time ago, I'm not able to put many links here yet, sorry.
With Mercurial you'll be able to use even outside your lan, there are plenty of options for publication and a central repository, or as I mentioned earlier, you can choose among many other aproximations for your source control.

Have you considered SourceGear Vault?
It will be a painless transition from VSS. They have a VSS plugin for Visual Studio, as well as a standalone client.
The SourceGear Vault pricing page will let you calculate license prices. For 10 users, it's averaging about $240 USD each.

Related

Should we use MS Team Foundation Server if we are not using VS?

We are about to roll out a project management system and we came across TFS. It seems pretty powerful as it can integrate version control system and project management tools into one server. But we are not a visual studio shop. Our development is done with Java/Php/Obj-C. Is TFS still useable without VS?
The key difference between TFS and the rest is the highly integrated nature of Source Control with Worth Item tracking and the fact that you have a data warehouse on top of both.
In terms of raw source control features, TFS and Subversion compare well. Obvioulsy, TFS has the benefit of talking to SQL Server 2005, meaning that any SQL tools and knowledge can be used to backup the database etc, off the top of my head - Subversion lacks the shelving, the caching proxy and and lightwieght labelling features but does have a better offline story than TFS V1.
TFS, Subversion and things like Vault are great, modern, Source Control systems. You'll notice I left VSS out of that list :-). While the Source Control features of TFS are very good - it does much, much more stuff than version control...
You can also take a look at some other studies have been carried out. But then again, just because other people have decided to adopt the product doesn't mean that you have to. There is plenty of competition in the developer tools market for you to get the tools you need at a price that you can afford.
In terms of convincing your management, then an explaination of the integration between work item tracking and source control along with a cost comparison of buying the equivalent (not integrated) products for your organisation should do the trick.
I wouldn't wish TFS on my worst enemy. I've only ever used it for source control and have no experience with its other facilities, but it has caused me immense grief. TFS source control facilities are cumbersome, complicated, incomplete, error prone, failure prone and generally difficult to use. I only use it because I'm forced to at work. Even if project management tools were totally awesome (which I gather they're not) I wouldn't want to use them because of the pain TFS source control regularly causes me.
There are plenty of more or less reasonable analyses of this tool on the web (in addition to all the hate filled diatribes). Here are a few from nearby:
Should we migrate from svn to Team Foundation Server 2010?
Experience with SVN vs. Team Foundation Server?
TFS vs SVN
With the languages you mention, you might look into using Jazz. http://www.jazz.net

Where to start... controlling access to code files using Visual Studio in multi-developer environment

We are in the midst of transitioning from asp, vbscript, SQL Server 2000, to asp.net mvc, sql server 2008.
When we were using classic asp, we could use Dreamweaver to lock access to a file on the network so that developers and designers wouldn't overwrite each other's changes when saving.
Is there an equivalent feature in Visual Studio 2010? Or, are there other techniques to accomplish this?
There most definitely are techniques to accomplish this.
Based on the upgrade, it sounds like the team is moving forward. Maybe that means business is good, maybe that means the team is growing or will grow, etc. In any event, and even if it's just a single developer, file locking to prevent overwriting each other's changes is no solution at all. Proper source control should always be used.
Visual Studio has support for TFS, naturally, but there are plugins for other (free) systems. SVN is a good one to get started. (Though, personally, I don't like IDE integration of source control. I prefer to see it as a file operation and not a code operation, and therefore prefer the Tortoise revision control clients for their Windows Explorer integration.)
You will almost certainly want to transition to a proper version control system.
Subversion is very popular and works well for most. TortoiseSVN is an extremely useful Explorer extension to make Subversion easy to use. There are also plugins for development environments. VisualSVN (not free) and AnkhSVN both integrate Subversion into Visual Studio.
Git & Mercurial are also very popular. Both are designed with distributed teams more in mind. They work largely the same as Subversion, but each version control system has slightly different "best practices" when it comes to work flow, particularly around branching and merging.
#quakkels: Go for TFS. I deeply hate it, but it will be easier for you.
SVN is for geeks, and GIT is for alpha-geeks (or for wanabes like me).

Cheaper alternative to VS Team Foundation Server

Is there a fairly inexpensive source control product on the market that integrates into Visual Studio 2008+ and that has the power and capabilities of Visual Studio 2008 Team Foundation Server?
I have used Dynamsoft, SourceGear, Subversion and Platic SCM and reckon that neither of these products can come close to Team Foundation Server.
Ideally I would be interested in a product that:
handles conflict resolution well
handles IDE edits, renames and deletes automatically
easy project management within the source control "server" that allows a project administrator to painlessly manipulate the project structure as they see fit.
Subversion with Tortoise SVN
Here is an article by Rick Strahl on setting everything up.
I used svn at my last job, and tfs at my current one. I can't say I really like having to deal with tfs on a day to day basis.
SubVersion and AnkhSVN will integrate directly into Visual Studio.
Visual SVN is a tool to integrate SVN directly with Visual Studio.
(source: visualsvn.com)
It costs $49 per license.
They have a demo so you can see if it what you are looking for.
Actually, I've recently started using Team Foundation at work. Some of it is nice, but our team has spent at least 10 hours in total last week to fix silly TFS problems that never should have occurred in the first place.
While it isn't perfect, I find Subversion superior in many ways when it comes to plain source control. Get TortoiseSVN and shell out 50 bucks for VisualSVN if you want an integrated solution.
Personally I much prefer SourceGear Vault to SVN.
But it's hard to argue with free, and Vault is pretty expensive if you have more than 2 users.
Try visualsvn.
EDIT
Use VisualSvn as server (my bad, should have clarified I meant that), and as for the client, I used AnkhSVN, which got quite good over time.
From what I hear, VisualHg is a good Visual Studio addin for the Mercurial distributed source-control system. You just need to install TortoiseHg and then VisualHg, and you'll be up and running.
Well, you could use SVN in conjunction with bug tracking solutions such as Trac. There is a Trac Visual Studio plugin. There is also Redmine, though I don't know about its VS plugins.
If all you do is to "view, compare, attach changesets to work items and annotate", I guess bug tracking solutions are quite good.
What features of Team Foundation in particular are you interested in?
If you're just interested in Source Code Control, there are many plugins available for various other products. Subversion for instance has several plugins available which give a very similar experience to the Team Foundation plugin. AnkSVN is my personal favorite.
http://help.collab.net/topic/com.collabnet.anksvn.doc/concepts/ankh_whatis.html
We're going with Git but it probably doesn't have the integration with VS2008 you'd want.
Git manual: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
Mike,
If you are just looking for source control, the answer is yes.
If you are looking for an inexpensive replacement for everything that TFS does (build, test, project management, etc.) the answer is heck, no.

Source control with Visual Studio integration for a small project

I'm begining the development of a personal Web Application project. I'd like to have a source control system for that project.
At work, we user Team Foundation Server and I'm quite happy with that, mostly for the Visual Studio integration.
I'd like to know if there was free source control solutions that had the same kind of integration with VS2008.
I just started using Subversion actually, all I did was go to their website and download the server (took like 10 mins to install and setup). The installer asks you where you want your code repository to be and then it sets up the server completely. The only thing I had to do was put in a password file. I installed ankhsvn (which is an SVN client that integrates into Visual Studio) and it worked perfectly, without a hitch. Exactly how you'd expect. It's very little work overall.
subversion, mercurial
I think you have two options, really:
Subversion. It's easy to setup etc, and free. I like VisualSVN, which is $50, and worth atleast 5x that much, but you can use Ankh (free, OSS) or just use tortose (windows explorer plugin, OSS, free).
Once you have tortoseSVN (VisualSVN needs it too) you can make local repo's, or use a remote one, eg VisualSVNServer (also free), or personally, I have mine hosted with my websites at dreamhost :)
Another option is SourceGear Vault. It's GREAT if you have a windows-based server somewhere (it's SQL 200x + ASP.NET based, including SQL Express Edition I think), and it's free for one user. Very good if you are used to SourceSafe or TFS, and it can work in the SVN/CVS checkout-merge-commit way if you want to (not the default, but easy to change), or just use the check out - lock - check in way like VSS.
You might have heard Eric Sink of SourceGear on the Stack OVerflow podcast the other week - same company.
50 Bucks gets you all the subversion control you could need.
EDIT: And in the long run...50 bucks is as good as free...
I found Subversion very easy to install. AnkhSVN integrates into the Visual Studio IDE nicely and makes sure you don't forget to add new files created in the IDE to SVN. However, AnkhSVN also seems to have it's periodic hiccups.
TortoiseSVN seemed more stable when I used it, plus it has some advanced features (like a nice conflict editor) that Ankh is still lacking. That's why I use both Ankh and SVN for the best of both worlds.
visualsvn + ankhsvn works great for me
I have had good experiences with TortoiseSVN although it does not integrate directly into Visual Studio. It is free and integrates into Windows quite well.
If you want a solution that has more integration I would recommend Vault from SourceGear. It is free for individual users and is easy to setup. It has more features than SVN and direct access from within VS.
Subversion is good, but not that easy to install (since it requires Apatche). Take a look at Vault very simple to install, and works very well with Visual Studio. It's also free for single developer.

CVS and Visual Studio 2008 - integration options

I'd like to increase developers' "comfort level" in our team a bit.
We are using Visual Studio 2008 and TortoiseCVS + WinCVS, but no integration as of yet.
In your CVS/Visual Studio experience, what is the best integration tool in terms of "supports basic CVS functionality add/diff/update/commit/annotate/etc", "works out of the box", almost "bug-free"?
a) commercial
b) free or open source
Edit:
There are 2 commercial MSSCCI bridge solutions I've found so far: PushOk.com and TamTam (daveswebsite.com). Both were developed quite a long time ago and now have only minor updates. Being MSSCCI bridges, they are somewhat limited in functionality and can not provide all the nice features of vsPackage SCC provider, but are probably better than nothing.
You might be stuck with one of those MSSCCI bridges you mentioned. As it is, not too many people still use CVS, especially those using Visual Studio (most of them seem to use Team System's revision control, or Subversion).
There's always the possibility of hacking together your own macros to take care of CVS operations, but this has the disadvantage of not giving you real, in-depth integration the way a an SCC provider, or even an old brige, would.
I don't know about CVS, but if going to SVN is an option, there's always Ankh.
Ankh is a open source choice
http://ankhsvn.open.collab.net/

Resources