| git.druid.rocks | index | druid520 | mp | docs/ | reference/ | commands/ | dryrun.btft |
docs/reference/commands/dryrun.btft
[table class="topnav"]
[tr]
[td class="logotab"]mp[e]
[td][see name="index"]index[e][e]
[td][see name="guide/index"]guide[e][e]
[td][see name="reference/index"]reference[e][e]
[e]
[e]
[h1]mp dryrun[e]
[h2]synopsis[e]
[code]
mp dryrun [--force] <pkg|world|all|@set> ...
[e]
[h2]description[e]
resolves a request exactly as [see name="reference/commands/install"]mp install[e] would -- dependency graph, %tag backtracking, conflict/HOLD/MASK/keyword checks -- but stops there: nothing is staged, no phase script runs, nothing actually installs. prints "would install: X" per package that would be touched.
read this as "would this resolve," not "would this fully succeed": the short-circuit happens BEFORE staging, patch application, and, critically, the real file-path-overlap conflict detector ([code]find_file_conflict[e]), which only ever runs deep in the genuine install path. a request that dryrun says would resolve cleanly can still fail for real on an actual file conflict with something already installed, or a phase script/hook/patch that fails when it's really run.
[code]mp dryrun --force all[e] is the standard whole-tree resolution sanity check -- heavier than [see name="reference/commands/verify"]mp verify[e] (which only checks that ports parse and have both phases), since this genuinely resolves every dependency graph in the tree.
[h2]examples[e]
[code]
mp dryrun figlet
would install: figlet
mp dryrun --force all # does every port in the tree still resolve?
[e]
[h2]see also[e]
[see name="reference/commands/install"]install[e], [see name="reference/commands/verify"]verify[e].