0

大家下午。

我们使用 Rstudio 中的 rmarkdown 来编写技术报告。这些报告依赖于外部 ascii(通常)数据文件,这些数据文件被读入数据帧并进行操作。

我们还使用 RCS 进行版本控制,因为它使用 RCS 变量为我们提供了报告版本(1.1、1.2 等)、签入日期、作者修订等的良好顺序编号。

我们的问题是,如果我们有一个 Rmd 文件,它调用了一堆其他数据文件,并且这些数据文件发生了变化(例如,我们的 QA 部门在一个数据文件中发现了一个已更改的错字),如果我们签入 Rmd 文件,没有什么会改变版本控制,因为 Rmd 文件本身没有改变,只有它依赖的文件。

我们知道我们可以要求用户运行“ci -f”(强制签入),但他们已经习惯于使用标准 RCS 命令(“ci -l”、“co -l”等),我相当确定他们会忘记添加“-f”。

有没有办法让 rstudio 在每次编织文件时将日期/时间标签添加到 YAML 块中?如果这样可行,那么当实验室技术人员开始生成新版本的报告时,一旦他们将其编织以进行预览并准备生成最终报告,我们就知道 Rmd 文件将被签入并且版本控制信息会增加/更新。

当然,我们一直想知道使用 Makefile,但这将涉及构建外部数据文件的依赖项列表,这并不重要(数据文件可能分散在项目中的不同目录中,并且可能没有完整的路径名Rmd 文件,如果一个函数正在做硬提升,所以我们可能会遇到一些我们解析文件但找不到依赖项的情况)。

虽然我很欣赏每次编织时都强制更改文件是一把大锤敲碎坚果,但这可能是我们的临时解决方案。

任何想法都非常感谢。
皮特

4

0 回答 0