[Rd] svn version number

Gabor Grothendieck ggrothendieck at gmail.com
Sat Oct 8 13:09:46 CEST 2005


On 10/7/05, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
> Gabor Grothendieck wrote:
> > On 10/7/05, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
> >
> >>Gabor Grothendieck wrote:
> >>
> >>>Is there some way of automatically including the svn version number
> >>>of a package in the DESCRIPTION file or otherwise so that one
> >>>can check from within R which svn version number one has?
> >>
> >>You could do this by writing it into your Makefile, but there's no other
> >>existing support for it.  I'd recommend combining the URL reported by
> >>"svn info" with the result of svnversion to get the most informative
> >>version.  Watch out for cases of people who are trying to make your
> >>package from a tarfile, rather than an svn checkout.  We have ended up
> >>with some fairly tricky Makefile programming to get what we want into
> >>the R banner.
> >
> >
> > There is no makefile at all currently as my package is all R.  Also, I
> > currently use TortoiseSVN.
>
> Probably the simplest option is to set an svn:keywords property on one
> of your source files, and get Subversion to put the revision number into
> the source when you check out.  This won't tell you if you've got a
> mixed or modified revision, but as long as you are careful not to do
> this, it might give you what you want.
>
> I've got no idea how to do this in TortoiseSVN (I use command line svn),
> but presumably the documentation will talk about it.
>
> Duncan Murdoch
>

Thanks.  That seems to work.  I created a file called VERSION
in the inst subdirectory with the single line:

$Id$

and added Id to that file's svn properties by right-clicking on
VERSION file in Windows Explorer, choosing Properties, click
on Subversion tab and enter the Id property. I then did a commit.

I was originally thinking of putting the version information in the
DESCRIPTION file since I think that that is where one would
normally look but am not too sure if there is a logical place for it
there so for the moment at least its in my VERSION file and one
can access it from R via:

    file.show(system.file("VERSION", package = "mypkg"))

Question: Any other ideas of a good place to put this information?
The key requirement I have is that it should be accessible from
within R so that one can check that one is using the svn version
that one thinks one is using.



More information about the R-devel mailing list