I have a plethora of both short and long pieces of R code that I would like to track as they evolve.
Does anyone have any recommendation or experience using version-control software with R?
I have a plethora of both short and long pieces of R code that I would like to track as they evolve.
Does anyone have any recommendation or experience using version-control software with R?
Use
whatever your colleagues, friends, ... use --- most systems are technically equivalent and you want to foster rather than hinder collaboration
whatever is supported in the editor or IDE you use most
so as ever so often it comes down to network effects --- popular choices create more users which creates more support in tools etc.
R itself does not care. Source code is just text. Personally, I like SVN a lot and use it at home, at work, at R-Forge, on Google Code, on Sourceforge, ... R Core also uses SVN but as I said, it does not really matter. Your choice, your headaches when you need to admin or fix things.
There's nothing unique about R that would drive a version control system decision. There are many R projects hosted on Github (in Git) and on Google Code (in Mercurial or Subversion). R-Forge (http://r-forge.r-project.org/) uses SVN.
You may want to have a look at this question for some views on the modern source controlsystems: Git, Mercurial, and Bazaar.
Assuming that you will use either Git, Mercurial, or SVN, I would suggest having a look at Github. It has many very nice features for collaboration.
Fossil is wonderfully easy to set up and quickly start using. It also includes a web interface, issue tracker and a wiki, all built-in to the single executable. Fossil is the version control system for SQLite (written by the same author) and runs on Mac, Win and Linux.
I personally use and strongly suggest Eclipse with the StatET plugin combined with Subclipse for subversioning.