【发布时间】:2010-12-25 14:05:20
【问题描述】:
我正在把这个东西放在我的源代码中......(对,现在它只是一个,加上测试脚本)。
REVISION = (function(x) substring(x, first=7, last=nchar(x)-2))("$Rev: 8727 $")
但是“真正的”R 程序员是怎么做的呢?
【问题讨论】:
我正在把这个东西放在我的源代码中......(对,现在它只是一个,加上测试脚本)。
REVISION = (function(x) substring(x, first=7, last=nchar(x)-2))("$Rev: 8727 $")
但是“真正的”R 程序员是怎么做的呢?
【问题讨论】:
这是一个很好的解决方案。如果您的数字更少或更多,正则表达式可能会更健壮:将开头的 $Rev : 和结尾的 $ 交换为空字符串,您应该保留修订版。
每个文件属性的唯一问题是它们仅在该文件本身被 subversion 更新时才会更新。
出于这个原因(以及许多其他原因),请考虑制作本地软件包。您的DESCRIPTION文件将a)经常更改以适应新版本号,并且b)可以简单地通过您只需添加的新字段进行扩展,例如
Revision: $Rev$
您可以通过read.dcf() 从 R 中读取内容,之后您可以执行您的技巧去除美元符号和冒号,或使用正则表达式。
【讨论】:
svnversion 是否给出了目录本身的修订版?如果并且当您运行svn update 时,那应该是当前版本。还是我误解了你的目的?