views:

315

answers:

5

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?

+3  A: 

Subversion or Git would be my recommendations. I don't think the effectiveness of the versioning system depends on the source code you put in it. R shouldn't be any different from Java or C# that way.

duffymo
+2  A: 

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.

Shane
I'd love to be able to use github/google, but unfortunately a few of the statistical models are proprietary.
Brandon Bertelsen
+2  A: 

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.

dtw
+2  A: 

I personally use and strongly suggest Eclipse with the StatET plugin combined with Subclipse for subversioning.

Thrawn
+4  A: 

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.

Dirk Eddelbuettel
Dirk, GREAT points! It's easy to overlook the importance of a social network to support tools (the Internet may be minimizing this, but only on the margin).
JD Long
Agreed, the social element is huge. At this point I'm not working with anyone else on the code but it's quite possible in the future.
Brandon Bertelsen