【发布时间】:2017-12-17 03:09:50
【问题描述】:
我无法确定在 github 上更新我的 R 包版本号的工作流程,以避免错误地命名为“中间”版本。这就是我现在要做的。
- 提交并推送版本 1.0.0,并将发布设置为 1.0.0
- 在不更改说明文件的情况下提交并推送一些错误修复等
- 最终决定我应该将版本提升到 1.0.1,然后提交并推送更新的说明,然后设置新版本。
这样做的问题是,如果有人(比如我)在我做了一些修复之后但在我升级版本之前从 github 下载,他们认为他们拥有的版本是 1.0.0(因为那仍然是在说明中),但它确实介于 1.0.0 和 1.0.1 之间。
问题中似乎讨论了这样的事情 “Is it possible to add a version number using git / github”,但不是特定于 R 的,所以我无法判断它是否在谈论相同的事情,或者如何为 R 实现。
还有一个问题“Automating version increase of R packages”,它有一个自动更新它的答案,尽管在 cmets 中,我们看到 Hadley“基本上没有出售自动递增版本的好处”(https://github.com/hadley/devtools/issues/501)。那里的代码也依赖于 Make 所以不是跨平台的。
【问题讨论】:
-
除非我在 github 上安装标签 (
devtools::install_github("akhilnairamey/somerepo@v1.0.0")),否则我通常假设我将拥有该软件包的开发版本(即可能不稳定)。我还通过 pull req 对我的包 master 分支进行了更改(即不直接推送到 master [并进一步保护 master 以确保这一点]),并始终在 pull req 中包含版本提升。也不知道最佳实践,但这似乎对我有用。有兴趣听到更多答案 -
我见过许多开发人员发布标准的点三元组(例如 1.0.0)。紧接着,
DESCRIPTION文件版本更新为 1.0.0.9000 之类的内容,表示中间标记版本。 (通过“发布”,我的意思是要么发布到 CRAN,或者至少在git中进行标记。)这样,您立即知道问题中引用的版本是已发布版本还是手动安装的开发版本. (“9000”通常是静态的,尽管我想在每次提交时增加它是可行的……维护起来很麻烦,IMO,但它可能有用。)