renv 和 git:提交什么

gir*_*ira 6 git r renv

我试图让我和我的同事开始使用 renv。我发现了关于应该/可以提交给 git 进行协作的不同信息:

  1. Renv合作小插图建议不仅要承诺renv.lock,而且还要.RProfile承诺renv/activate.R
  2. 然而,可以只提交renv.lock

显然,开发人员也就使用哪种策略进行了一些讨论。

一般来说(来自 pyhton,基本上 arequirements.txt就足够了),我非常喜欢方法 2。它有什么缺点吗?合作者必须做的事情有什么变化(例如以renv::restore或开头renv::init)?

Kon*_*lph 7

仅提交的缺点renv.lock是,当以通常的方式加载项目时,\xe2\x80\x98renv\xe2\x80\x99 不会自动激活\xe2\x80\x99,这意味着协作者可能会意外地运行来自项目超出环境范围。

\n

这是否是一个问题主要取决于你的内部流程,即项目将如何使用。通过自动加载 \xe2\x80\x98renv\xe2\x80\x99 来获得某种 \xe2\x80\x9cenforcement\xe2\x80\x9d 肯定是有用的,并且基本上没有缺点 \xe2\x80\x94 所以为什么不呢只需提交额外的两个文件?

\n

另一方面,应该注意的是,提交.Rprofilerenv/activate.R文件不能保证每次加载项目时都会加载这些文件。不幸的是,在许多情况下,执行 R 代码时不会自动获取.Rprofile与项目目录关联的文件(事实上,它仅\xe2\x80\x99s在非常特定的情况下获取;即,当当前工作目录设置为项目目录)。但它\xe2\x80\x99仍然比没有好。

\n

总之,如果您提交,我不认为\xe2\x80\x99t有充分的理由不提交所有这些文件renv.lock.

\n