Clicky

Independent developers who don’t work in a team may think that source control is not necessary for them because nobody else works on their projects but this is a big mistake!

Before I lost some source codes which was on my previous dead laptop I didn’t feel I need source control for my projects but after that incident I started to research about possible source control approaches for .NET developers and Visual Studio and in this post I want to share results with you.

There are two main source control systems: Concurrent Versions System (CVS) and Subversion (SVN). I was looking for a system that covers the following specifications:

  • Free technology.
  • Free Ad-on for Visual Studio.
  • Free server to host source codes.

My choice was SVN which is initiated by CollabNet Inc. because it’s free and open source and also has an official ad-on for Visual Studio which is offered by CollabNet. AnkhSVN is a very good free tool to implement all source control activities right inside Visual Studio. You can download it for Visual Studio 2008 here.

By now, you have the technology and tools to control your source and take care of them but there is one another requirement. You need a server that supports SVN to host your source codes and absolutely you look for a free one ;-) Assembla is a good choice because it offers a free package as well as paid commercial packages. One you register, you can define various workspaces with unlimited team size in your free 250 MB storage space.

You’ve almost done, now you can start Visual Studio, open a solution or project, right click on it and add it to SVN. It’s so simple and easy.

In Assembla you can receive source control comparison (Diff), source history and many more features.

In brief, you have to take these 2 steps:

  1. Download AnkhSVN.
  2. Register at Assembla.
  3. Start protecting your code inside Visual Studio!

 
Monday, September 15, 2008 2:13:30 PM (Iran Standard Time, UTC+03:30)
Totally agree!

I have several developer friends who won't commit themselves to use source control just because they work alone on the project and always at the same computer. Of course, if they ever need help, which they sometimes do, they have to go with the ancient way to zip the whole solution, send it to me and wait for a zipped answer from me with code or comments.
A part from this once-in-a-while-cooperation, its nice to have the possibility to rollback to a previous version after a so-so sober programming evening with following bad re-design ideas.
Mårten
Tuesday, September 16, 2008 5:33:47 PM (Iran Standard Time, UTC+03:30)
Hi, until recently I've been using the same approach you describe here for more than a year.
For me it was the wrong approach... Subversion is too slow to work online.... just try to get a change log with more than 50 revisions... you DON'T have to wait that much.
Let me suggest you to try a distributed version control system like Git or Mercurial. I've tried both: Git is for Linux users right now (or for those who like the command line a lot, which you don't seem to be the case), but Mercurial has very good support for Windows.
I don't know of any Visual Studio addons, but with Mercurial you get TortoiseHG (similar to TortoiseSVN) which is enough for almost every task.
Besides, Assembla has support for both Git and Mercurial.
Have you thought what could happend with if Assembla goes down? With a distributed system this is not a problem.
Kind regards.
Tuesday, September 16, 2008 7:53:20 PM (Iran Standard Time, UTC+03:30)
What happens when any source control server goes down? Keep working and check in when it comes back up.

The system developers of the world need to quit re-inventing source control every six months. It's not helping. Git is clearly the right tool for the job for Linux, but the vast majority of developers aren't working on projects of that scope. For them, Subversion is the straightforward, tried-and-true solution.

Ultimately, anything but CVS is good, but it's going to make it difficult for people to adopt source control if there are a gigantic array of mutually incompatible options.
Tuesday, September 16, 2008 9:13:36 PM (Iran Standard Time, UTC+03:30)
Hi Jeffrey,
I personally love innovation as long as it helps me doing my job (developers reinventing things are one of the reasons because I love this proffesion)
Distributed source control management systems have deffinitely some pros (and cons) over centralized ones like Subversion, it depends on the context in which they are used, but it has nothing to do with project size... I'm developing solo right now, and Mercurial is actually easier to use (no server setup, no dependency on external servers, easy backup, a lot faster) than SVN.
Regards.
Tuesday, September 16, 2008 10:38:48 PM (Iran Standard Time, UTC+03:30)
Guys,

Thank you for your participation in this post. I haven't yet tried any source control system other than SVN and CVS but will take a look at them.

As I told, one of my prerequistics was having a good ad-on for Visual Studio. So far I only found AnkhSVN.
Tuesday, September 16, 2008 10:44:17 PM (Iran Standard Time, UTC+03:30)
@German:I found this Mercurial SCC plugin for MS Visual Studio 2005/2008: http://www.selenic.com/pipermail/mercurial/2008-May/019246.html
Tuesday, September 16, 2008 11:38:55 PM (Iran Standard Time, UTC+03:30)
Thank you. I'll look at it.
Wednesday, September 17, 2008 1:20:00 AM (Iran Standard Time, UTC+03:30)
Maybe you didn't know, but SourceGear's Vault, one of the best Source Control software I've used is free for single-user projects.

It works great over the Internet too. And it integrates great with Visual Studio.

link is http://sourcegear.com/

Wednesday, September 17, 2008 10:36:48 AM (Iran Standard Time, UTC+03:30)
@Gabriel
In my personal opinion version control system should be free even for multi-user teams. So Vault is not my choice ;-)
Wednesday, September 24, 2008 12:07:34 AM (Iran Standard Time, UTC+03:30)
I also use SourceGear Vault. Coming from Sourcesafe world this works just the same way, just better.
Wednesday, September 24, 2008 5:28:12 PM (Iran Standard Time, UTC+03:30)
Thanks for your post on this I found this on DotNetKicks a little while back and finally set it up for my first project I posted on my blog, an ASP.NET task scheduler with no system scheduling calls or windows services. Feel free to check it out!
Wednesday, September 24, 2008 6:10:16 PM (Iran Standard Time, UTC+03:30)
@Chris,

Thank you for your comment. As I know Keyvan (http://nayyeri.net) has been working on same project (Task Scheduler for ASP.NET); take a look: http://nayyeri.net/blog/abidar-ndash-asp.net-task-scheduling-framework/
Wednesday, October 22, 2008 1:26:32 PM (Iran Standard Time, UTC+03:30)
keuwpj mldtcbn tgfzy vysqlpb oxfdvi dmkvtrsg zgmi
Wednesday, October 22, 2008 1:26:53 PM (Iran Standard Time, UTC+03:30)
keuwpj mldtcbn tgfzy vysqlpb oxfdvi dmkvtrsg zgmi
Wednesday, October 22, 2008 1:27:28 PM (Iran Standard Time, UTC+03:30)
keuwpj mldtcbn tgfzy vysqlpb oxfdvi dmkvtrsg zgmi
Comments are closed.