Skip to content

Principles

revdeprun is a toolchain wrapper. The "secret sauce" is not any single trick, but a set of decisions that make reverse dependency checks fast and predictable in a cloud setting.

Design principles

  • Assume cloud: disposable Ubuntu instances, internet access, no secrets.
  • Sensible defaults: work out of the box without tuning.
  • Prefer binaries: compile as little as possible.
  • Make parallelism the default: checks scale well; installs mostly do.
  • Treat the network as unreliable: retry, deduplicate, and keep going.
  • Keep the interface lean: expose the meaningful knobs, not every knob.

The main insight: separate setup from checking

Most "revdep pain" comes from setup: provisioning R, system libraries, and thousands of R dependencies. Once that is done, the actual checking is the easy part: xfun::rev_check() is excellent at using all your CPU cores.

That separation shows up everywhere in the implementation and is the reason the tool is structured as a two-phase workflow.