Rbuildignore 不忽略 .git

Rbuildignore not ignoring .git

我正在更新一个当前在 CRAN 上的包。 运行 devtools::check() 在本地始终给出警告

> checking package subdirectories ... WARNING
  Found the following directory with the name of a version control directory:
  These should not be in a package tarball.
    ./.git

和注意

> checking for hidden files and directories ... NOTE
  Found the following hidden files and directories:
    .git
  These were most likely included in error. See section 'Package
  structure' in the 'Writing R Extensions' manual.
  
  CRAN-pack does not know about
    .git

当我检查 winbuilder 时,我不再收到警告,但我确实收到了注意。

这是我的 .Rbuildignore 文件,应该 忽略 .git 文件夹,但由于某些原因不是 (?)

^.*\.Rproj$
^\.Rproj\.user$
^cran-comments\.md$
^\.Rhistory$
^docs$
^\.travis\.yml$
^CRAN-RELEASE$
^\.git$
^\.github$

我最近从 Windows 迁移到 Mac (os 12.1),我是 运行 R 版本 4.1.1 和 RStudio 版本 1.4.1717。感谢您的帮助 - 我搞不懂这个,这让我发疯了。


编辑:为了可重复性,我的包裹目前在 Github https://github.com/mbtyers/riverdist

经过编辑以简化:

您可以完全将 .git 排除在 .Rbuildignore 之外:版本控制目录会自动忽略多个版本控制系统,包括 git.

这个有一个 st运行ge 和不相关的解决方案,我会 post 以防其他人遇到类似问题。当我运行“构建源包”(或devtools::build()devtools::check())时我应该看到线索,并且在长滚动输出中会得到一长串

rm: /var/folders/1r/qj42pgb ... 3c4f: Operation not permitted
rm: /var/folders/1r/qj42pgb ... b6ad: Operation not permitted
rm: /var/folders/1r/qj42pgb ... s/e3: Directory not empty
rm: /var/folders/1r/qj42pgb ... c5d0: Operation not permitted

我的猜测是,当我运行通过外部驱动器将我的工作从 Windows 机器转移到 Mac 时,某些目录已损坏或存在权限问题。如果是这样,我可以想象我的机器无法遵循我的 .Rbuildignore,或者排除@user2554330 的回答中提到的版本控制目录。

最终,我从 Github(我一直在推动)下载了一个新版本,然后 built/checked 就解决了这个问题。