Version control for 1 person?

Started by
9 comments, last by Structural 16 years, 4 months ago
I haven't used any sort of source control before, but I sort of know what it is: there's a server with the code on it, and people can check it out and modify it, and it will keep track of changes. I am working on a project alone, and I want just the keep-track-of-changes part. I am using Visual Studio 2005 and I've been looking for a suitable plugin but I haven't found anything yet. I just want it so that I can press a button, and then a copy of all my source code is saved to a new folder. Just something as simple as that. I could do it manually but an automated way would save me a lot of time. Is there such a solution? If I were to download svn or something, could I get this type of functionality without doing stuff like setting up a server? Thanks for your help!
Advertisement
I use svn at home for my school projects and all the other things I work on, some not even programming related.

You do not need a server if you are just going to be using it at home. Once you install svn you can create a "repository" anywhere you want. I keep all of my stuff on a seperate hard drive. While svn is command line based, I use the windows explorer extension TortoiseSVN.

I am not aware of any VisualStudio plugins, but most source control products have a free at home use version, for example Perforce is free for home use as well as AccuRev. You may want to check those out as I think they integrate with Visual Studio easily.

.casey.
Quote:Original post by Swarmer
I haven't used any sort of source control before, but I sort of know what it is: there's a server with the code on it, and people can check it out and modify it, and it will keep track of changes.


That's the basic idea, though if you're only working on a single machine, there's often no need to have a server daemon running as the client application can work with the repository on disk directly. This depends on the version control system you use however.

Quote:I am working on a project alone, and I want just the keep-track-of-changes part. I am using Visual Studio 2005 and I've been looking for a suitable plugin but I haven't found anything yet. I just want it so that I can press a button, and then a copy of all my source code is saved to a new folder.


That's not really how version control typically works. You have a repository of some kind, which for all intents and purposes is opaque; you typically shouldn't need to know how its implemented for day-to-day usage. Now, when you change your source files, you commit your changes to the repository. Once committed, you can then go back to any previous version with a single command (unless you're stuck with a cruddy old system such as CVS, which makes this stupidly hard)

Quote:Is there such a solution? If I were to download svn or something, could I get this type of functionality without doing stuff like setting up a server?


Subversion does require you to run a server process, AFAIR, though it's not particularly difficult to set up. There's a document floating about somewhere about how to set up a subversion server as a Windows service.EDIT: no, I think I only did this when I wanted to use it over a network.

I would recommend Mercurial (aka Hg) however, which is a distributed system. You don't need to run a server process unless you want to push and pull changes between different machines on the network (or internet). The repository sits in a folder alongside your project and Hg just manipulates that directly.

There are a number of other systems to investigate such as SVK, Git, darcs and bzr as well as a bunch of horrendously expensive commercial "solutions" such as Visual source safe, perforce and clearcase.

Subversion is probably one of the better free centralized systems, though
">some would say centralized systems are broken by design. I'm inclined to agree, but this is a quasi-religious issue, so I'll stop there.

Anyway, googling for "subversion visual studio integration" turns up a few hits you can check out. One tool that I've used and I'm happy to recommend is tortoise SVN, which integrates nicely with windows explorer to show the status of version controlled files. It's really easy to use and is the next best thing to IDE integration. I'd say it's better, actually.

Even if you don't find anything with IDE integration, version control is really worthwhile as the task of creating a backup is only a simple console command or batch script away at worse.

Beyond that, branching is an extremely useful mechanism (better supported by distributed systems, typically) and there are other features that you're bound to discover as you start using your chosen system more and more.
Have you looked at assembla.com ?
Thanks for the fast responses!

I tried TortoiseSVN and it works great. I even made a shortcut on my desktop to commit my project, so it's really easy to get a "save point" on my project.

@bronx: I took a look at assembla and it looks pretty good. But I'm already hooked on Tortoise. Also, assembla looks like its focused on collaboration, which is great, but doesn't really suit my needs, although I'm sure it could do what I need. I just don't need all those other tools.

I think SourceAnywhere Hosted is what you are looking for. It's a SQL-based source control tool delivered as a SaaS application so you do not need to install or maintain a server which can highly save your time and energy. Also, it is well integrated with Microsoft Visual Studio 6/2003/2005/2008, Dreamweaver and Eclipse IDE. Here is the home page of SourceAnywhere Hosted:
http://www.dynamsoft.com/Products/SAWhosted_Overview.aspx

Currently, free hosting for 3 users is available.
http://www.dynamsoft.com/Products/SAWHosted_Plan.aspx

Also, if you want to run the server by yourself, you can try SourceAnywhere Standalone:
http://www.dynamsoft.com/Products/SAWstandalone_Overview.aspx


Thanks.
Catherine Sea

[Edited by - CSea on December 18, 2007 11:13:32 PM]
www.dynamsoft.comthe leading developer of version control and issue tracking software
If you're working by yourself on only one machine I highly recommend Perforce

If you have multiple dev machines, I love Subversion with the Tortoise Client

-me
I recently started using source control myself for my single person projects, and it is nice. If you are using windows check out VisualSVN. It is an all in one apache/svn server that has a gui for the more common stuff. TortoiseSVN has been mentioned and it works great.
I second the Perforce recommendation - it's free for up to two users. It's pretty easy to set up and use and is a very robust and full featured solution. It's what I use for personal projects.

Perforce is also probably the most widely used version control software in the games industry for code (and many companies use it for game assets as well) so it's useful to have some experience with it if you're ever looking to get into the industry.

Game Programming Blog: www.mattnewport.com/blog

Quote:Original post by mattnewport
I second the Perforce recommendation - it's free for up to two users. It's pretty easy to set up and use and is a very robust and full featured solution. It's what I use for personal projects.


This topic is closed to new replies.

Advertisement