[Rd] Wishlist: optional svn-revision number tag in package DESCRIPTION file
Peter Ruckdeschel
peter.ruckdeschel at web.de
Wed Apr 1 10:21:07 CEST 2009
Thanks Gabor, Duncan, and Dirk,
for your replies.
Gabor Grothendieck wrote:
> We need to make sure we understand the implications
> for packages developed under the other major version
> control systems like git, bzr and hg.
Ok for this --- of course it would even be "greater" to have
a universal replacement scheme for general version control
systems in R for DESCRIPTION files, but actually for the moment
I would already be content with some R tools (possibly a collection
of them) for each version control system individually.
> On 31 March 2009 at 12:58, Duncan Murdoch wrote:
> | On 3/31/2009 10:41 AM, Peter Ruckdeschel wrote:
> | > Could we have one (or maybe more) standardized optional tag(s)
> | > for package DESCRIPTION files to cover svn revision info?
> | > This would be very useful for bug reporting...
>
> Indeed. I am doing something similar with local packages at work.
>
> | > I know that any developer is already free to append corresponding lines
> | > to DESCRIPTION files to do something of this sort --- e.g. lines like
> | >
> | > LastChangedDate: {$LastChangedDate: 2009-03-31 $}
> | > LastChangedRevision: {$LastChangedRevision: 447 $}
> |
> | That will give you the last change to the DESCRIPTION file, not the last
> | change to the package, so it could be misleading. Last time I looked,
> | there wasn't a way in svn to auto update a file that wasn't involved in
> | a changeset.
Ouch. I stand corrected; and I have to say: this even is an FAQ
in the SVN documentation... So using svn properties will not work indeed.
Still, my wish for a better integration of version control
information into R persists...
So if I understand correctly, under linux / cygwin (Mac I don't know)
you would use some scripting to read out the output of svnversion;
let me add that under Windows + Tortoise SVN you would have
SubWCRev (http://tortoisesvn.tigris.org/faq.html#subwcrev) to help you.
> (You could put something into your build script to call
> | svnversion, but I don't know anything simpler.)
>
> Yes, I have been using configure for that (which can be really any type of
> executable script rather than something from autoconf). One can then either
> update a placeholder in DESCRIPTION.in to substitute the revision number
> and/or create a package-local function reporting svn revision, build time,
> etc.
>
> It may make sense to think about a more general scheme. A common problem is
> of course once again portability and the set of required tools.
If we are talking about R functions for reporting version control
information --- what about the following scheme:
-have some version control system individual functions (one for svn, one
for git and so on)
-have some S4 control class for each of these version control systems
-have an S4 generic VCinfo() which dispatches according to an argument
VCsystem of this control class
This would give some additional flexibility to integrate infra-structure
for new version control systems ---even by other programmers--- without
interfering with the generic.
For the scripting approach --- what about some extra options for
R CMD build
for instance --withSVN or --withTortoiseSVN ?
Thanks again for your comments --- and apologies for my wrong idea
using svn properties.
Best, Peter
More information about the R-devel
mailing list