我在CRAN上有一个包,我想添加ChangeLog
,但我无法在任何地方找到有关如何执行此操作的信息。
我查看了CRAN提供的“Writing R Extensions”文档,但它只提到了ChangeLogs并且没有给出关于如何创建一个的方向(我可以找到)。
我注意到从CRAN上的其他软件包下载tarball(例如seacarb
),他们的ChangeLogs是Unix可执行文件(我在Mac上),所以这不太有帮助。
我想这是一个常见的问题,但谷歌搜索"changelog R package"
只会为真正受欢迎的套餐带来ChangeLogs ......
答案 0 :(得分:21)
您可以提供NEWS
文件或ChangeLog
文件,或两者都提供,以描述套餐中的更改。您必须将这些文件添加到项目的顶级文件夹中,即与DESCRIPTION
和NAMESPACE
位于同一文件夹中。
R package manual段1.1 Package structure中记录了这一点。特别是,这一段指向GNU标准:
有关GNU项目中NEWS和ChangeLog文件的约定,请参阅http://www.gnu.org/prep/standards/standards.html#Documentation。
Hadley指出“通常你应该使用一个NEWS文件,而不是ChangeLog。我认为ChangeLog的目的(列出每一个变化)已被源代码控制”包含。< / p>
要创建NEWS
文件,只需在包的顶级文件夹中创建一个名为NEWS
的文本文件即可。您手动维护此文件。
以下是我的包NEWS
(CRAN link)中miniCRAN
文件的摘录:
miniCRAN v0.0-21 (Release date: 2014-08-18)
==============
Changes:
* Changes to defaults in plot.pkgDepGraph() to move legend to left of plot area.
miniCRAN v0.0-20 (Release date: 2014-08-18)
==============
Changes:
* Modified examples to reduce running time, mostly using \dontrun{} sections
答案 1 :(得分:2)
NEWS.md文件现在也受CRAN(将它们呈现为html)支持,最近也受CostSpreadsheet
函数的支持。
答案 2 :(得分:1)
如果您遵循this并选择NEWS.md
,请确保news()正确读取相同的内容(同时在GitHub上看起来不错)。
您可以在本地程序包中执行相同的操作。
似乎您必须遵循特定的格式。
我尝试过这种方法(它确实有效)(选中here)
# *News*
# tidycells 0.1.9 (2019-07-31)
## Initial Submission
* **CRAN** Initial Submission
# tidycells 0.1.5 (2019-07-30)
## Final Codebase Release in GitHub
* Final Release in GitHub for **CRAN** Submission
* Only Minor Documentation Change after this and before next **CRAN** Submission
# tidycells 0.1.0 (2019-07-25)
## Initial Release to GitHub
* Initial Release to GitHub
* Prior to this it was private package