9

我是 R 新手,已经开始编写一个中型项目。尽管它将作为应用程序的一部分分发,但我决定将其制作成一个包以使组织更整洁。

当我使用版本控制时,如何处理说明文件需要版本和日期字段的事实?我不想在每次 git 提交时都更改该文件。

是否有一个标准的 Makefile 用于此?

此外,我并不完全清楚我将如何做到这一点并且仍然能够在开发时使用该包。

4

3 回答 3

5

如果您使用该devtools软件包,则不必在每次编辑后构建和安装您的软件包 - 只需使用load_all()并在您的工作会话中完成工作,因此您可以测试您的更改(最好使用testthat软件包)。

我写了一篇关于它的 RPub:http ://www.rpubs.com/geospacedman/lazydevtools

您仍然可以选择构建包源 tarball 以进行分发。

请注意,git 不会促进每次提交时自动更新文件位的机制,就像 SVN 中的 $id$ 一样。Linus 自己说这是“愚蠢的”和“愚蠢的”:

http://www.gelato.unsw.edu.au/archives/git/0610/28891.html

于 2012-11-17T15:58:53.177 回答
4

如果您不熟悉 R,我建议您使用RStudio,在我看来这是最先进的 R-IDE。它同时提供:包构建版本控制

我不想在每次 git 提交时都更改该文件。...此外,我并不完全清楚我将如何做到这一点并且仍然能够在开发时使用该包。

通常情况下,您会安装一个用于使用的软件包和用于开发的本地 Git 存储库。当开发达到下一个软件包版本的状态时,您将更改DESCRIPTION文件中的日期和版本。在两个版本之间,您可以根据需要进行尽可能多的阶段、提交和推送到您的 GIT。

于 2012-11-17T13:55:23.123 回答
1

我不会更改DESCRIPTION每次提交的时间,但我会更新 Date 并YYYYMMDD在每次实际构建包时将当前日期放在破折号后面的版本中。这是一种夜间构建,可以跟踪它是哪个晚上。

目前,我有一个软件包处于相当活跃的开发阶段,这是由几个不同同事的需求驱动的。小版本的日期很方便,因为我可以很容易地问同事“你使用的版本是什么日期?sessionInfo ()显示它。”

于 2012-11-17T17:16:46.320 回答