2014-09-01 49 views
16

我在CRAN上有一個包,我想爲其添加一個ChangeLog,但我無法找到關於如何執行此操作的任何信息。如何在我的R包中添加更新日誌或NEWS文件?

我查看了CRAN提供的「Writing R Extensions」文檔,但它只提到了ChangeLogs,並沒有提供關於如何創建ChangeLog的指導(我可以找到)。

我注意到從CRAN上的其他軟件包下載tarball(例如seacarb),他們的ChangeLogs是Unix可執行文件(我在Mac上),因此沒有多大幫助。

我想這是一個常見的問題,但谷歌搜索"changelog R package"只是帶來了更新日誌的真正流行包...

回答

17

您可以提供一個NEWS文件或文件ChangeLog,或兩者兼而有之,在描述你的變化包。您必須將這些文件添加到項目的頂層文件夾中,即與DESCRIPTIONNAMESPACE相同的文件夾中。

這記錄在R package manual的段落1.1 Package structure中。特別是,本段指向GNU標準:

有關GNU項目中文件NEWS和ChangeLog的約定,請參閱http://www.gnu.org/prep/standards/standards.html#Documentation


哈德利指出,「一般來說,你應該使用NEWS文件,而不是更新日誌。我想更新日誌的目的(列出每一個變化),已經由源代碼控制歸入」


要創建NEWS文件,只需創建你的包的頂層文件夾名爲NEWS的文本文件。你手工維護這個文件。

下面是來自NEWS文件的部分內容從我的包miniCRANCRAN link):

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 
+4

一般來說,你應該使用'NEWS'文件,而不是'ChangeLog'。我認爲'ChangeLog'(用來列出每一個變化)的目的已經包含在源代碼控制之中。 – hadley 2014-09-01 13:14:31

+0

謝謝,@hadley。我會編輯我的答案。 – Andrie 2014-09-01 13:15:25

+0

太棒了,我會創建一個NEWS文件,而不是_how_我是否創建該文件?我應該寫一個txt文件,並且在創建tarball時將它轉換爲適當的格式嗎?我對創建文件的過程有點困惑。我正在用RStudio製作軟件包。由於它爲我創造了大部分創作,所以我可能有點缺乏對包(及其文件)的創建方式的瞭解。 – CephBirk 2014-09-02 01:55:56

相關問題