I am looking for a lightweight source control system for use on "hobby" projects with only one person (myself) working on the project. Does anyone have any suggestions? Ideally it should interface with Visual Studio either naively or through another plug-in, outside of that, anything that works would be nice to be replace Gmail as source control.
Hobby or Serious project, SVN 1-Click Setup (download Svn1ClickSetup-1.3.3.exe
) gives you all you need with ease :)
SVN with SmartSVN or tortoiseSVN ? not really all that lightweight, but good practice for the big bad world.
I use VisualSVN Server (free) and Tortoise SVN (free) for school, work, hobbies, everything. If you want Visual Studio integration, you can use Visual SVN ($49) or AnkhSVN (free).
Git is very lightweight and is just as suitable for personal projects as it is for huge projects like the Linux kernel. There is lots of tutorial documentation available on its web site that will get you started. Example:
git init
git add .
git commit -m "my first commit!"
If you are keen on Visual Studio integration, I would probably recommend Subversion, as there are a number of plugins that may make your life easier. Also, TortoiseSVN is definitely worth installing.
Pick your flavour of distributed version control. I like Mercurial, other folks swear by Git and Bazaar. There's no need to make a fake server to put a directory under version control, which, IMO, makes it very ideal for small projects.
I'm not sure if any of these have Visual Studio plugins, though.
If you have access to SQL Server, then SourceGear's Vault is free for a single user. If you want to go even further, Axosoft's OnTime issue tracking is also free for single user use. I use both at home (for free) and we also use both (licensed) at our company. Both integrate into Visual Studio, and OnTime also supports Vault integration.
TortoiseSVN works great. You don't even need a Subversion server, you can create a local repository through the tool. Since it integrates right into Windows Explorer, it makes it easy to work with in a variety of scenarios. You also then have the option to work with remote Subversion servers or Team Foundation Servers (via SVNBridge).
You can use assembla.com to host your project. They offer subversion, git and mercurial hosting. I personally use their subversion hosting for a free and private one-man project. As an added bonus, you also get a wiki and a ticketing system. Which can help you manage your stuff.
And the best thing is that you don't have to setup your subversion server and it is hosted off-site.
It's really good for a free service.
Personnaly, i use TortoiseSVN as my client but it isn't integrated in visual studio.
For the integration, you can try VisualSVN (not free) or AnkhSVN (free)
I prefer distributed version control for personal projects, because they eliminate the need for a server. Mercurial is the one I try to use most of the time, but I've been hearing good things about git as well.
I can't comment on other source control software but after using VSS 6.0 , StarTeam, Vault and SVN I cannot rate SVN + Tortoise more highly. AnkhSVN is a free plug-in for Visual studio which I personally didn't warm to. Apparently Visual SVN is much better but costs money.
Have a look at the Mercurial Project an open source distributed source control system. There is a tortise and an eclipse plugin but nothing for visual studio plugin that I know of.
you can see a demo on you tube . like GIT its one of a new breed of distributed source control systems, so no server setup required, and it has very fast HTTP based checkin's with advanced branching and merging facilities.
Lately I became a strong believer in Git and its interesting index pseudo repository. But if you do not need all the fancy rebase --interactive and stuff like content over file tracking - and as its Windows support is a weak point - Hg is a valid alternative. I am rather certain neither has a VS plug-in but with PoSH the command line is more fun anyway.
Thanks for all of the help so far, I have things up and running and right now I am working with Assembla as a Subversion server, TortoiseSVN for general Subversion access, and AnkhSVN for Visual Studio integration. Overall I am quite impressed with this particular configuration and I am already much more impressed with it than I have ever been with Visual Source Safe.
I have had a couple issues getting things up and running so I think it is best if I mention them in case anyone else ever runs into these problems -
- AnkhSVN doesn't give any useful error messages if it can not connect to the server due to a proxy being in the way and it doesn't use any of the Internet Explorer proxy settings so you have to configure it yourself. At the time of this post (2008-08-20) that information is in C:\Documents and Settings[USERNAME]\Application Data\Subversion\servers
- Assembla runs over HTTPS but shows the SVN URL as HTTP, you must be sure to change the HTTP to HTTPS yourself in the URLs or you get a "401 Not Implemented" error from TortoiseSVN and AnkhSVN.
i will never use SVN again for a personal project - ya its great compared to CVS, but isn't even in the same class as the modern breed of distributed version control systems. GIT has been mentioned already but a) it has shaky windows support b) complicated learning curve. I now use BZR which "just works".
For small and not-so-important project, Google Code Hosting is wonderful - it's Subversion, it's free and offers plenty of space.
I prefer Mercurial for my homebrewn projects. It's much easier than Git, and it works flawlessly under Windows.