From 5435877bd9325322e52bae454878743b38f20f13 Mon Sep 17 00:00:00 2001 From: Yanick Witschi Date: Fri, 18 May 2018 10:59:09 +0200 Subject: [PATCH 1/2] Improve SAT resolving developer debug information --- src/Composer/DependencyResolver/Solver.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Composer/DependencyResolver/Solver.php b/src/Composer/DependencyResolver/Solver.php index 1775cb5ce..c9a87221b 100644 --- a/src/Composer/DependencyResolver/Solver.php +++ b/src/Composer/DependencyResolver/Solver.php @@ -223,9 +223,10 @@ class Solver /* make decisions based on job/update assertions */ $this->makeAssertionRuleDecisions(); - $this->io->writeError('Resolving dependencies through SAT', true, IOInterface::DEBUG); + $this->io->writeError('Resolving dependencies through SAT', false, IOInterface::DEBUG); $before = microtime(true); $this->runSat(true); + $this->io->writeError('', true, IOInterface::DEBUG); $this->io->writeError(sprintf('Dependency resolution completed in %.3f seconds', microtime(true) - $before), true, IOInterface::VERBOSE); // decide to remove everything that's installed and undecided @@ -762,6 +763,7 @@ class Solver for ($i = 0, $n = 0; $n < $rulesCount; $i++, $n++) { if ($i == $rulesCount) { + $this->io->writeError('.', false, IOInterface::DEBUG); $i = 0; } From d82bdc04ac0f4de4174e69ed883c8eac63db6df3 Mon Sep 17 00:00:00 2001 From: Yanick Witschi Date: Thu, 24 May 2018 11:46:50 +0200 Subject: [PATCH 2/2] Improved debugging output --- src/Composer/DependencyResolver/Solver.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Composer/DependencyResolver/Solver.php b/src/Composer/DependencyResolver/Solver.php index c9a87221b..862411c61 100644 --- a/src/Composer/DependencyResolver/Solver.php +++ b/src/Composer/DependencyResolver/Solver.php @@ -223,7 +223,7 @@ class Solver /* make decisions based on job/update assertions */ $this->makeAssertionRuleDecisions(); - $this->io->writeError('Resolving dependencies through SAT', false, IOInterface::DEBUG); + $this->io->writeError('Resolving dependencies through SAT', true, IOInterface::DEBUG); $before = microtime(true); $this->runSat(true); $this->io->writeError('', true, IOInterface::DEBUG); @@ -760,11 +760,19 @@ class Solver } $rulesCount = count($this->rules); + $pass = 1; + $this->io->writeError('Looking at all rules.', true, IOInterface::DEBUG); for ($i = 0, $n = 0; $n < $rulesCount; $i++, $n++) { if ($i == $rulesCount) { - $this->io->writeError('.', false, IOInterface::DEBUG); + if (1 === $pass) { + $this->io->writeError("Something's changed, looking at all rules again (pass #$pass)", false, IOInterface::DEBUG); + } else { + $this->io->overwriteError("Something's changed, looking at all rules again (pass #$pass)", false, null, IOInterface::DEBUG); + } + $i = 0; + $pass++; } $rule = $this->rules->ruleById[$i];