我是R的新手并且已经开始编写一个中等规模的项目。尽管它将作为应用程序的一部分进行分发,但我决定用它来创建一个包,以使组织更整洁。
当我使用版本控制时,如何处理DESCRIPTION文件需要Version和Date字段的事实?我不希望每次git提交都改变该文件。
在某处有标准的Makefile吗?
此外,我并不完全清楚我是如何做到这一点的,并且仍然可以在开发时使用该包。
答案 0 :(得分:5)
如果您使用devtools
软件包,则无需在每次编辑后构建和安装软件包 - 只需使用load_all()
即可在工作会话中完成作业,这样您就可以测试更改(最好使用testthat
包)。
我写了一篇关于它的RPub:http://www.rpubs.com/geospacedman/lazydevtools
您仍然可以选择构建程序包源代码tarball以进行分发。
请注意,git不会提升每次提交时自动更新文件位的机制,比如SVN中的$ id $。莱纳斯自己说这是'愚蠢'和'愚蠢':
答案 1 :(得分:4)
如果您是R的新手,我建议使用RStudio,这是我认为最先进的R-IDE。它同时提供:package building和version control。
我不想在每次git提交时更改该文件。 ... 此外,我还不完全清楚我是如何做到的,并且在开发过程中仍然能够使用该包。
通常情况下,您将安装一个用于处理的软件包以及用于开发的本地Git存储库。当开发达到下一个软件包发布的状态时,您将更改DESCRIPTION
文件中的日期和版本。在两个版本之间,您可以根据需要制作多个阶段,提交并推送到您的GIT。
答案 2 :(得分:1)
我没有为每次提交更改DESCRIPTION
,但我更新了Date,并且每次实际构建包时,我都会将当前YYYYMMDD
日期放在破折号之后的版本中。这是一种夜间建筑,记录它是哪个夜晚。
目前,我有一个包在一个相当活跃的开发阶段,由几个不同的同事的需求驱动。次要版本的日期很方便,因为我可以轻松地询问同事“你使用的版本是什么日期?sessionInfo ()
显示它。”