Browse Source

Fix conflict order to be more accurate

Jordi Boggiano 5 years ago
parent
commit
ec90c17e3b

+ 1 - 1
src/Composer/DependencyResolver/Rule.php

@@ -162,7 +162,7 @@ abstract class Rule
                 $package1 = $pool->literalToPackage($literals[0]);
                 $package2 = $pool->literalToPackage($literals[1]);
 
-                return $package1->getPrettyString().' conflicts with '.$this->formatPackagesUnique($pool, array($package2)).'.';
+                return $package2->getPrettyString().' conflicts with '.$package1->getPrettyString().'.';
 
             case self::RULE_PACKAGE_REQUIRES:
                 $sourceLiteral = array_shift($literals);

+ 1 - 1
tests/Composer/Test/DependencyResolver/SolverTest.php

@@ -652,7 +652,7 @@ class SolverTest extends TestCase
             $msg = "\n";
             $msg .= "  Problem 1\n";
             $msg .= "    - Root composer.json requires a -> satisfiable by A[1.0].\n";
-            $msg .= "    - B 1.0 conflicts with A[1.0].\n";
+            $msg .= "    - A 1.0 conflicts with B 1.0.\n";
             $msg .= "    - Root composer.json requires b -> satisfiable by B[1.0].\n";
             $this->assertEquals($msg, $e->getPrettyString($this->repoSet, $this->request, $this->pool));
         }

+ 1 - 1
tests/Composer/Test/Fixtures/installer/conflict-between-dependents.test

@@ -31,7 +31,7 @@ Your requirements could not be resolved to an installable set of packages.
 
   Problem 1
     - Root composer.json requires conflicter/pkg 1.0.0 -> satisfiable by conflicter/pkg[1.0.0].
-    - victim/pkg 1.0.0 conflicts with conflicter/pkg[1.0.0].
+    - conflicter/pkg 1.0.0 conflicts with victim/pkg 1.0.0.
     - Root composer.json requires victim/pkg 1.0.0 -> satisfiable by victim/pkg[1.0.0].
 
 --EXPECT--