Revision control & dev methods for 1 person project?

4 points by burrokeet ↗ HN
I'm working on a social network service that is currently just a 1 person effort (me), and I also do some consulting and programming for others on small web app projects.

I'd like to start using a revision control system to manage these projects, so in addition to rollbacks I also have a better backup of my work, and can at some point add an additional developer (which currently would require hacking my own home-brew workflow).

I'm interested in people's thoughts on RCS systems best suited for projects like these with only one or a few developers.

In the same vein, I'm curious as to people's thoughts on development methodologies for these kind of projects as well- my own workflow comes out kind of cowboy meets agile, but I'd like to start disciplining myself a bit more and have the ability to integrate an additional person when I'm ready.

Tech wise the RCS server needs to run on Linux (Debian), as I will host it on my offsite server which is backed up daily. On the client end I am fully Mac, and currently using a combo of Eclipse, BBEdit and XCode as IDEs, depending on the project, so I need at least command line capability plus Eclipse integration.

thanx!

5 comments

[ 3.4 ms ] story [ 21.3 ms ] thread
I'd look at both git and mercurial. I have a similar situation, and I've pretty much settled on mercurial, but that's because I do a little bit of Windows stuff.
I'm on a quest for the same solution. I'm writing my own Twitter client and as it is web based, I develop it from my two computers and run it on my server.

Right now I'm using FileHamster which is quite basic on Windows. I'm probably going to bite the bullet and do SVN or Mercurial. I might do git but I don't want to put my code on github yet.

I'll be eager to hear other people's thoughts as well.

I run my own SVN server on my personal website, and I use S3SYNC to back it up to amazon s3. the amazon backups costs me 10c a month, its great.

I've recently started using mercurial and git to get into the dvcs community, and mercurial is a good bet if you want eclipse integration. svn does this very well too.

I would recommend getting an Assembla or Unfuddle account (both free) and then using the built-in VCS support that they provide. Unfuddle provides full support for a free private Git repository. Even though you may not need issue tracking and a full bug system now, it never hurts to treat your project as if it was being done professionally.
I have a svn (1.5.x) repository on my server and use bzr-svn to access it. I and another developer push our changes to the server at logical points. On the server we have a simple svn workspace which we update when we want to publish our changes.

Works quite nicely. Also, you have the flexibility of using the regular svn client.

I haven't tried working with the 100% distributed solution as the current solution works. As there are only two developers we don't really have much need for branching.

If you want to use a DVCS you could also consider bzr (apart from git and hg).