revdepcheck icon indicating copy to clipboard operation
revdepcheck copied to clipboard

Make optional the location of the `checks` directory

Open lionel- opened this issue 8 years ago • 11 comments

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.

lionel- avatar Oct 17 '17 15:10 lionel-

:+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.

jimhester avatar Oct 17 '17 18:10 jimhester

but then usually you would want a template, right? E.g. set REVDEPCHECK_PATH="/my/path/to/revdeps/{package}" and then substitute {package}?

gaborcsardi avatar Oct 17 '17 18:10 gaborcsardi

Or just a REVDEPCHECK_ROOT, and all packages go under that?

gaborcsardi avatar Oct 17 '17 18:10 gaborcsardi

REVDEPCHECK_ROOT

I was thinking about this as well. It doesn't seem like a template is necessary.

lionel- avatar Oct 17 '17 18:10 lionel-

OK.

gaborcsardi avatar Oct 17 '17 18:10 gaborcsardi

Yeah just a root seems fine to me.

jimhester avatar Oct 17 '17 21:10 jimhester

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.

jimhester avatar Oct 26 '17 14:10 jimhester

OK, I am doing this now, then....

gaborcsardi avatar Oct 26 '17 14:10 gaborcsardi

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?

gaborcsardi avatar Oct 26 '17 15:10 gaborcsardi

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.

jimhester avatar Oct 26 '17 20:10 jimhester

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.

jennybc avatar Apr 03 '19 21:04 jennybc