1
0
Fork 0
Commit Graph

105 Commits (28d0f4a7c8b03c869492791f456b10a187ce5495)

Author SHA1 Message Date
Nils Adermann a16aa68c1d Rule literals are sorted, so first literal added is not first retrieved
Fixes #477
2012-04-01 22:26:44 +02:00
Jordi Boggiano 5fd50080ab Print details about missing extensions, fixes #312 2012-03-18 22:45:22 +01:00
Nils Adermann 83123b2d40 Generate human readable explanations of rules which cause problems 2012-03-18 21:09:26 +01:00
Nils Adermann 2c87fe5a22 Collect solver problems in Problem objects with human readable output. 2012-03-18 20:41:10 +01:00
Jordi Boggiano 9ed05e09f3 Fix version_compare for ubuntu that ships with versions like 5.3.3-1 (bigger than 5.3.3) 2012-03-16 16:07:48 +01:00
Martin Hasoň 2b08df5192 Changed repository priority in the pool 2012-03-06 11:17:23 +01:00
Jordi Boggiano c425b8b6cb Prevent a package from having duplicate names 2012-02-26 22:20:10 +01:00
Nils Adermann 17f0730e51 Levels are always > 0, negative level was just a hack in the C implementation
Fixes #243
2012-02-22 16:20:08 +01:00
Jordi Boggiano 956b54e516 Use policy rule instead of stacking up another repo to prioritize aliased packages 2012-02-22 09:40:05 +01:00
Nils Adermann f3ff53b17c Create problems directly, rather than generating impossible rules 2012-02-20 12:58:27 +01:00
Nils Adermann ff620afe05 Correct the parent path in the watch tree, after moving a rule out of the path 2012-02-19 19:20:12 +01:00
Nils Adermann 3e1749fbad Readd update-all jobs and make them available through the request 2012-02-19 16:59:04 +01:00
Nils Adermann 9b8e62396c Merge pull request #324 from edorian/installNonExistingPackage
Create an 'impossible rule' when installing non existent packages
2012-02-19 07:05:21 -08:00
Nils Adermann 2a92b904d2 Correct placing of braces 2012-02-19 15:44:02 +01:00
Nils Adermann 1ee5d99405 When changing watched literals of a rule, update the parent's next pointer
The previous rule was not previously updated to point to the next rule when
removing a middle rule from the watch tree for a literal. This resulted in
jumping from one literal's watch tree to another's, which could then jump
back to the original and cause infinite loop in a case like #265.

Fixes #265
2012-02-19 15:35:13 +01:00
Volker Dusch e20a79ac61 Fix TODO tags to confirm with the projects standard 2012-02-19 15:30:53 +01:00
Nils Adermann 8484199677 Display undecided literals as undecided with a ?, when printing the decision map 2012-02-19 15:20:13 +01:00
Nils Adermann 0b8fb68e93 Add a debug print method for the entire watch tree to the solver 2012-02-19 15:19:34 +01:00
Volker Dusch eafe13d5a5 Create an impossible rule when trying to install something that doesn't exist.
The rule isn't acted upon yet (hence the incomplete test) but it is there as a reminder that this case needs to be handled.
2012-02-19 14:55:14 +01:00
Nils Adermann 52d876e11e Add SolverProblemsException and test basic solver failures 2012-02-19 00:15:23 +01:00
Nils Adermann 8fd4e56029 Deciding to install a package and wanting to install it, is not a conflict 2012-02-19 00:13:21 +01:00
Volker Dusch 3fb75faa75 Now that no more update rules are created the code that handles them can be removed too.
Also adapted the tests that used TYPE_UPDATE exemplarily to use TYPE_FEATURE.
2012-02-18 19:19:49 +01:00
Volker Dusch ec61297122 Remove the allowUninstall policy option and clean up the only usage 2012-02-18 18:31:19 +01:00
Nils Adermann cbc021c05d featureRule no longer exists, only update rule 2012-02-18 18:04:45 +01:00
Volker Dusch 5fdca19880 Removed the option to disallowed downgrades and simplifed some places where it was used 2012-02-18 17:50:15 +01:00
Volker Dusch cc80e5a3b1 Cleanup unreachable code 2012-02-18 14:29:58 +01:00
Nils Adermann 7609f27052 Merge branch 'add-tests' of https://github.com/l3l0/composer into new-master
* 'add-tests' of https://github.com/l3l0/composer:
  Made fixes after review.
  Made changes which fied warnings and errors in tests.
  Fixed tests after update and merge of changes from upstream/master
  Fixed code. Changes improved code testability
  Added and extended some unit tests
2012-02-18 13:08:20 +01:00
Jordi Boggiano 5e3bf86851 Remove .swp file 2012-02-18 12:50:45 +01:00
Volker Dusch fb69ef64c5 Fix Solver function visibility to reflect what acutally should be the public interface 2012-02-18 12:44:52 +01:00
Nils Adermann cb7f656fa9 Off by one error in the solver - 1 cannot be false
Fixes #133, #160, #162, #177, #289
2012-02-18 00:11:08 +01:00
Justin Rainbow 8e64229461 Increasing version number to include 5.3.3 which also has an issue with SplFixedArray 2012-02-01 09:31:27 -07:00
Leszek Prabucki f59ca1e2f8 Made fixes after review. 2012-01-24 18:48:42 +01:00
Leszek Prabucki 9488b0f85f Fixed code. Changes improved code testability 2012-01-24 18:44:55 +01:00
Joseph Bielawski 188d8beb79 Class name typo fix 2012-01-19 16:58:59 +01:00
Justin Rainbow 7eda0a8823 PHP 5.3.2 segmentation fault fix
For some reason, using the SqlFixedArray causes a Segmentation Fault during
an install or update.  Changing to a simple array fixes this issue, but in
turn uses more memory.  Which is why there is the version test.
2012-01-18 15:56:29 -07:00
Jordi Boggiano edf948454b Remove IO from Solver, debug methods don't need it 2012-01-17 22:46:52 +01:00
François Pluchino 0f9dcc9618 Remplace all echo with writeln method of IO 2012-01-16 20:44:06 +01:00
Hugo Hamon 9acbb0c026 [DependencyResolver] removed unused local variables and fixed some wrong local variable names in Solver class. 2012-01-11 09:11:27 +01:00
Artem Lopata (bumz) de066de198 Fix for composer. When running update/install command it's just do nothing, except writing "Installing dependencies" 2012-01-08 23:24:58 +02:00
Jordi Boggiano c921a8884e Adjust operation output, fixes #166 2011-12-21 15:57:39 +01:00
digitalkaoz 87831d8c1c fixed typo 2011-12-06 21:13:04 +01:00
Jordi Boggiano f2662b193d Add --dry-run option and list all operations on --verbose 2011-11-21 17:56:21 +01:00
Jordi Boggiano d020f2701d Merge pull request #118 from naderman/priority-replace-any-version
Replaced packages have higher priority even if wrong version is replaced
2011-11-21 08:30:40 -08:00
Nils Adermann 5d5d6462e3 Correctly declare all literal properties 2011-11-21 16:14:16 +01:00
Nils Adermann 40b33914b3 Compute rule hashes for faster duplicate detection 2011-11-21 16:04:33 +01:00
Nils Adermann 69f55d37bb Generate literal ids only once and use in equals()
Significant speedup because equals and getId() are called so frequently.
2011-11-21 16:04:26 +01:00
Nils Adermann bca746c947 Don't consider a revert to level 1 (base level) in sat solver a failure 2011-11-21 15:02:42 +01:00
Nils Adermann b717ad8851 Display rules in more readable format 2011-11-21 15:01:10 +01:00
Nils Adermann 46e1001b4b Replaced packages have higher priority, even if wrong version is replaced 2011-11-19 15:00:56 +01:00
Nils Adermann 4140f08d9c Use a map of installed package ids in the solver
The assumption package.repo == installed no longer holds for installed
packages because there are multiple wrapped installed repositories.
2011-11-19 00:27:35 +01:00