revdepcheck
revdepcheck copied to clipboard
Make optional the location of the `checks` directory
Could be a global option.
This would help when the package root is within Dropbox or equivalent. The large amounts of created files causes intense CPU usage by Dropbox.
:+1:, I have this same issue, https://github.com/r-lib/revdepcheck/issues/77 is somewhat related. However there is AFAIK no way to programatically have Dropbox ignore directories, you have to toggle selective sync manually. So I think being able to have a checks directory outside the project makes sense.
but then usually you would want a template, right? E.g. set REVDEPCHECK_PATH="/my/path/to/revdeps/{package}" and then substitute {package}?
Or just a REVDEPCHECK_ROOT, and all packages go under that?
REVDEPCHECK_ROOT
I was thinking about this as well. It doesn't seem like a template is necessary.
OK.
Yeah just a root seems fine to me.
Another issue with storing revdep results in the package directory is when building the package, as even if revdep is in .Rbuildignore the directory is still copied, then deleted, which can be kind of slow if there are lots of dependencies.
OK, I am doing this now, then....
So, one question is if we want to allow multiple versions of the same package in REVDEPCHECK_ROOT. If yes, then we need some elaborate way to create the directory for the package. E.g. we could you the path of the tree somehow?
I think we should probably just not allow multiple versions of the same package.
If you did want to you could store the normalized path to the package below the root, e.g. if the package is at /users/xyz/pkg/ and the root is /path/to/root then store it at /path/to/root/users/xyz/pkg/, but this will make it harder to navigate to the check results and I am not sure it is worth it. Running revdep checks on the same package from multiple directories seems like a rare event.
Adding another reason why this feature would be nice:
If you are working on the target package while running revdeps, presumably from a separate R process, and you checkout a branch other than the one where you started the revdep check (probably: you checkout something other than master), this borks up the storage of results as the checks unfold.