R – VCS and single developer “team”

bug-trackingdevelopment-environmentgitsvnversion control

I am a single developer working on a project for my company. I use subversion and Trac (for bug-tracking and communication with management types). I have a staging server and a production server. Today I checked in some code and discovered that my FSFS-based svn (v1.4) repository is irreparably corrupt. While this is quite a bummer it has afforded me the opportunity to move my VCS/staging system to a more modern distro (currently on a 2-year old system). (As far as the repo is concerned I do have a non-corrupted current version of the code, so while I lose all the history and comments of the development I don't lose any code. Whew.)

Currently I develop on Ubuntu and production runs RHEL5-64. My hardware will be staying the same, a 32-bit x86 single-core system.

I am familiar with SVN and it's constructs, but am feeling a little burned by the FSFS corruption issue. I don't know much about git except that it's rather popular. I currently use Trac to manage issues and I really like it's integration with svn. It appears that there are plugins to enable support for Git, but I'm not sure of the maturity of that development.

I'm currently thinking of building the following:

  1. Ubuntu 8.10 Desktop (and then adding
    apache2 and other packages…the
    last time I tried adding a GUI to
    the server edition I just about
    pulled my hair out)
  2. SVN (because I'm
    familiar with it and Git seems to be
    a bit overkill for a one person
    team)
  3. Trac (because I'm familiar
    with it and it works with SVN).

I would like some suggestions and thoughts regarding my "new" vcs system. Is there a reason that I should move to Git? Is there something "better" than Trac?

Best Answer

Git's a fine source control system, especially if you're happy with the command line. SVN is obviously a good old workhorse, and is much better now with the 1.5 merge support.

Trac is good, but when we looked at it, it was limited to single projects and not good in the source control support department.

We use redmine now, which allows multiple projects and allows us to use different kinds of source control for each project, including git.

Oh yeah, and we use hudson for building :)