[R] Version control (git, mercurial) for R packages

Hadley Wickham hadley at rice.edu
Thu Feb 9 19:28:00 CET 2012

>> I'm exploring using a version control system to keep better track
>> of changes to the packages I maintain. I'm leaning towards git
>> (although mercurial also looks good) but am not sure what is the
>> best way to set up the repository. It seems I can't set the
>> repository directly within the R package main directory, since it
>> will be incompatible with the standard package structure. I can set
>> the repository in the directory that contains my R packages, but
>> then I have a single repository for all of my packages, which is
>> not ideal.
> Git is nice - but if you ar looking for simplicity in usage for R
> packages, I guess r-forge and rforge are the easiest to use.

I think git + github is substantially easier to use, especially if you
want to incorporate patches from the community.

> But I would be interested in the workflow when using github as the
> main VCS.

The thing that has made this really successful for me is the
install_github function in devtools.  Then it's easy for people to try
out development versions:

install_github("myrepo", "myusername")

This requires a working R development environment but thanks to the
hard work of Simon Urbanek, Duncan Murdoch, Brian Ripley and others,
this is a one-install process on all major platforms.


Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University

More information about the R-help mailing list