Nils Adermann
728e57b9e0
Merge branch 'master' into 2.0
...
* master:
Fix solver problem exceptions with unexpected contradictory "Conclusions"
Also load config into IO if not freshly created
Only load configuration into IO if IO is available
Fix defaultRepos fallback does not use auth config
Add warning/info msg when tweaking disable-tls setting to avoid confusion, fixes #7935
2019-02-05 15:35:51 +01:00
Nils Adermann
6b2edeae56
Fix solver problem exceptions with unexpected contradictory "Conclusions"
...
This 5 character fix comes with a solver test as well as a functional
installer test essentially verifying the same thing. The solver test is
more useful when working on the solver. But the functional test is less
likely to be accidentally modified incorrectly during refactoring, as
every single package, version and link in the rather complex test
scenario is essential, and a modified version of the test may very well
still result in a successful installation but no longer verify the bug
described below.
Background:
In commit 451bab1c2c
from May 19, 2012 I
refactored literals from complex objects into pure integers to reduce
memory consumption. The absolute value of an integer literal is the id
of the package it refers to in the package pool. The sign indicates
whether the package should be installed (positive) or removed (negative),
So a major part of the refactoring was swapping this call:
$literal->getPackageId()
For this:
abs($literal)
Unintentionally in line 554/523 I incorrectly applied this change to the
line:
$this->literalFromId(-$literal->getPackageId());
It was converted to:
-abs($literal);
The function literalFromId used to create a new literal object. By using
the abs() function this change essentially forces the resulting literal
to be negative, while the minus sign previously inverted the literal, so
positive into negative and vice versa.
This particular line is in a function meant to analyze a conflicting
decision during dependency resolution and to draw a conclusion from it,
then revert the state of the solver to an earlier position, and attempt
to solve the rest of the rules again with this new "learned" conclusion.
Because of this bug these conclusions could only ever occur in the
negative, e.g. "don't install package X". This is by far the most likely
scenario when the solver reaches this particular line, but there are
exceptions.
If you experienced a solver problem description that contained a
statement like "Conclusion: don't install vendor/package 1.2.3" which
directly contradicted other statements listed as part of the problem,
this could likely have been the cause.
2019-02-03 16:33:55 +01:00
Jordi Boggiano
4517c00d40
Merge branch 'master' into 2.0
2019-01-29 14:01:28 +01:00
Jordi Boggiano
acea4a4d4d
Warn on invalid package name or require/provide/.., fixes #7874
2019-01-29 13:46:23 +01:00
Jordi Boggiano
b89720b52a
Merge branch 'master' into 2.0
2019-01-28 18:00:52 +01:00
Sascha Egerer
1845adcfbd
Fix update whitelist pattern resolving and add more tests
2019-01-28 17:34:24 +01:00
Sascha Egerer
50cb5fe3da
Update all whitelist matching root dependencies
...
The update command can receive a pattern like `vendor/prefix-*`
to update all matching packages.
This has not worked if multiple packages, depending on each other,
where matched to the given pattern. No package has been updated
in this case as only the first package matching the pattern was
added to the whitelist.
2019-01-28 17:34:08 +01:00
Nils Adermann
902cb290e7
Only load package versions which fit the root composer.json constraints
2018-09-12 16:48:17 +02:00
Christophe Coevoet
8c3898aa57
Update tests for replace conflicts
...
This reverts the test changes done in b4698568d2
to the original tests added
in 1425bb7fc3
.
2018-08-27 12:14:34 +02:00
Jordi Boggiano
0b3bc4ccb9
Merge branch '1.5'
2017-11-28 18:09:36 +01:00
Nils Adermann
7dffe79a0f
Update tests of solver problem message to match new message
2017-11-16 12:41:41 +01:00
Matthew Grasmick
11db6f90c2
Cleaning up comments
2017-09-11 12:56:51 -04:00
Matthew Grasmick
ad465aa769
Updating var names.
2017-09-11 11:47:33 -04:00
Matthew Grasmick
21722f6e42
Fixing test version constraints.
2017-09-11 11:32:19 -04:00
Matthew Grasmick
f29e98cdf9
Fixes #6661 : Allow a given package and its dependencies (including siblings) to be updated.
2017-09-11 11:16:15 -04:00
Jordi Boggiano
34dbde3873
Merge branch '1.4'
2017-07-03 17:00:48 +02:00
Rob Bast
422a9adb07
images related to new trusty images
2017-06-22 15:20:19 +02:00
Stephen Beemsterboer
06bb6c7530
Move plugins with no dependencies to the front, followed by plugins with their dependencies
2017-05-23 20:28:32 -04:00
Stephen
6c4800b8d2
Update corresponding test for plugin moving
2017-04-22 16:43:07 -04:00
David Zuelke
2d36324e99
streamline install progress messages
2017-01-24 20:51:37 +01:00
Jordi Boggiano
a1b468ea50
Fix git shortening, it is sunday..
2016-12-11 17:04:24 +01:00
Jordi Boggiano
4d082f77b8
Simplify composer output to take less lines
2016-12-07 01:09:06 +01:00
Fabien Potencier
57ec0d1815
added more information in the output
2016-10-29 11:37:23 -07:00
Jordi Boggiano
59596ff012
Make sure we do not overwrite binaries but only re-create missing ones, refs #5127
2016-07-02 16:35:09 +01:00
Jordi Boggiano
88d5b74c74
Merge remote-tracking branch 'j0k3r/re-install-binaries'
2016-07-02 16:15:33 +01:00
Lucas CHERIFI
7e34d9ab97
Typo fix ;-)
2016-05-10 21:45:39 +02:00
Jordi Boggiano
72362a085a
Fix #refs handling, fixes #5291
2016-05-10 17:17:08 +01:00
Jordi Boggiano
ac75680b1e
Make sure the abandoned state is copied over even if the packages are installed already
2016-04-22 23:41:15 +01:00
Jordi Boggiano
4de17cef6b
Always resolve dev packages even when doing an update with --no-dev, fixes #5016
2016-04-20 12:34:04 +01:00
Jordi Boggiano
11daebcb3a
Merge pull request #5210 from Seldaek/fix_partial_updates_from_dirty_state
...
Fix partial updates from a dirty state and apply exactly the locked state
2016-04-19 20:07:52 +01:00
Jordi Boggiano
c7c8335b8b
Fix updating of dev refs if they are not whitelisted
2016-04-19 20:03:14 +01:00
Jordi Boggiano
de5bfcb4c5
Fix partial updates from a dirty state and apply exactly the locked state, fixes #3468
2016-04-18 23:33:04 +01:00
Jordi Boggiano
feda2a283f
Improve error reporting some more, fixes #4310
2016-04-18 23:03:00 +01:00
Jordi Boggiano
6d20146d08
Normalize URL updates to point to the correct reference and always update URLs consistently, fixes #3849 , fixes #4126
2016-04-18 09:34:23 +01:00
Jordi Boggiano
23af589076
Add test case for solver problem improvements
2016-04-01 00:38:00 +01:00
Jeremy Benoist
e9fc0e6548
Re-install binaries on update/install
...
Binaries are re-installed after an update/install (ie: removed and then installed)
2016-03-28 23:15:13 +02:00
Jordi Boggiano
55b0ed8c8b
Change installs into updates if there is no lock file, simplify some code, fixes #5034
2016-03-15 14:05:07 +00:00
Rob Bast
dfdcfab822
simplified existing test, added a new test
2016-03-15 11:11:18 +01:00
Jordi Boggiano
76450cc2a1
Merge pull request #4989 from naderman/t/fix-self-reference-transaction-root
...
Ignore self references when anlaysing independent root requirements
2016-03-02 13:26:18 +00:00
Nils Adermann
4af74b54e0
Ignore self references when anlaysing independent root requirements
...
When creating a transaction we try to identify all requirements that are
not themselves required by any other package. If a package references
itself this should not mark it as being required by another package.
2016-03-02 13:03:26 +01:00
Jordi Boggiano
c29f20964e
Damn git
2016-02-29 18:10:46 +00:00
Jordi Boggiano
4b0624a93a
Fix regression in create-project
2016-02-29 18:09:56 +00:00
Jordi Boggiano
7b404c4717
Add failing test for #3990
2016-02-29 14:45:35 +00:00
Rob Bast
5db0f623b0
enable test again
2016-02-05 13:36:53 +01:00
Rob Bast
baa84d9be1
adjust test and assertion to be more flexible
2016-02-05 13:34:21 +01:00
Rob Bast
baabc612f6
adjust message, skip test
...
currently we have no way to put dynamic values or wildcards in EXPECT-OUTPUT
2016-02-05 13:21:30 +01:00
Rob Bast
94daeca57b
add test and adjust rule error message
2016-02-05 11:59:05 +01:00
Rob Bast
df23153932
fix output
2016-02-04 12:45:55 +01:00
Rob Bast
be5719eb53
Merge remote-tracking branch 'upstream/master' into repro-4795
...
* upstream/master: (98 commits)
Fallback to zlib extension to unpack gzip on non Windows systems
Zip extension does not provide zlib support
Unified all Windows tests throughout the code.
Added Platform utility and unit test for it.
Remove warnings for non-writable dirs, refs #3588
[doc] add -H flag to sudo commands
use full json content to determine reference, closes #4859
typos
Make sure COMPOSER_AUTH is also loaded in Config, refs #4546
Use proper defaults for IO authentications
Add verbosity input support to IOInterface
Update SolverTest.php
Update broken-deps-do-not-replace.test
Update SolverProblemsException.php
Cleaned up check+conversion that was no longer required.
Cleaner notation for expected exceptions in fixtures.
Introduced more generic, less invasive way to test for exceptions in fixtures, more in line with how phpunit works.
Included unit test for circular root dependencies.
Expanded InstallerTest to support expecting Exceptions by supplying "EXCEPTION" as "--EXPECT--"
Clarified error message and added braces.
...
2016-02-04 12:43:37 +01:00
Jordi Boggiano
8771eca527
Merge remote-tracking branch 'curry684/issue-4767'
2016-02-03 17:00:30 +00:00
Rob Bast
0e584aa980
resolve issue
2016-02-02 10:45:57 +01:00
Jordi Boggiano
49d7d65933
Add verbosity input support to IOInterface
2016-01-29 10:14:12 +00:00
Jefferson Carpenter
087b901545
Update broken-deps-do-not-replace.test
2016-01-28 20:12:51 -06:00
Niels Keurentjes
523362c7c5
Cleaner notation for expected exceptions in fixtures.
2016-01-27 13:46:14 +01:00
Niels Keurentjes
639ee0701c
Introduced more generic, less invasive way to test for exceptions in fixtures, more in line with how phpunit works.
2016-01-27 13:19:08 +01:00
Niels Keurentjes
bd241cb896
Included unit test for circular root dependencies.
2016-01-27 10:05:10 +01:00
Rob Bast
17d6b98707
add A to root requirements
2016-01-21 18:40:33 +01:00
Rob Bast
0f09982858
add a test attempting to reproduce composer/composer#4795
2016-01-21 16:18:00 +01:00
Matthias Pigulla
3c08318ea0
Add test
2015-09-18 15:31:54 +02:00
Jordi Boggiano
e8572ca6f9
Merge pull request #3998 from SpacePossum/use_https
...
Use HTTPS where possible
2015-05-05 16:42:33 +01:00
Jordi Boggiano
0e0cb62fb8
Add test for replace
2015-05-05 11:07:11 +01:00
Possum
2e99b9fdf5
Use https where possible
2015-05-04 19:37:57 +02:00
Cees-Jan Kiewiet
c9d9b5085a
Replaced <error> with <warning> for abandoned package as it reflects the intention of this feature better
2015-04-30 23:34:26 +02:00
Nils Adermann
258fdcb44d
Merge pull request #3986 from Seldaek/partial-update-keep-lock
...
Partial updates should not corrupt the lock if the installed repo is not up to date with it
2015-04-30 17:54:58 +02:00
Jordi Boggiano
137c551247
Check if package URLs are up to date after an update op is done, fixes #3214
2015-04-30 16:41:28 +01:00
Jordi Boggiano
4507805508
Partial updates should not corrupt the lock if the installed repo is not up to date with it, fixes #3439 , closes #3553
2015-04-30 16:39:08 +01:00
Jordi Boggiano
d6620195e5
Prioritize repository over package versions in the default policy, fixes #3509
2015-04-30 10:43:04 +01:00
Jordi Boggiano
a57c51e8d7
Finalize platform override feature
...
- Added tests, docs
- Persist to lock file
- Add support in config command
- Added to json schema
2015-04-29 22:38:07 +01:00
Jordi Boggiano
c7b0628d93
Fix tests
2015-02-27 12:27:56 +00:00
Rob Bast
cb336a5416
Implement writeError throughout Composer
2015-02-25 11:00:35 +01:00
Jordi Boggiano
5d3c7ab6b7
Rename test files and descriptions
2015-02-17 14:43:09 +00:00
Jordi Boggiano
b4698568d2
Adjust tests and fix installer code to create the pool using locked requirements and not the composer.json reqs
2015-02-17 14:37:33 +00:00
Matthias Derer
1425bb7fc3
added tests to reproduce the bug
2015-02-16 13:46:59 +01:00
Matthias Derer
c9cff6387a
removed requirements from the root package should we install from the lock file
2015-02-13 16:15:34 +01:00
Jordi Boggiano
901fd838f3
Merge pull request #3450 from nicolas-grekas/prefer-lowest-stable
...
add --prefer-lowest and --prefer-stable to update command
2014-12-14 13:02:06 +00:00
Nicolas Grekas
e821ac2772
Persist prefer-lowest in composer.lock
2014-12-14 10:29:41 +01:00
Nicolas Grekas
98b254a3ec
split update --prefer-lowest and --prefer-stable
2014-12-13 11:51:30 +01:00
Nicolas Grekas
4a0feb0189
add --prefer-lowest-stable to update command
2014-12-13 11:51:30 +01:00
Nils Adermann
540dfacfa0
Add test to verify that depency packages get deleted when no longer in lock file
2014-11-26 20:24:30 +01:00
Nils Adermann
d884b26aa3
Add test case for removing unused dependencies on whitelisted update
2014-11-26 20:19:37 +01:00
Chris Smith
2e40f5f586
Add failing test case
2014-11-20 16:54:38 +00:00
Nils Adermann
6f4be698a5
Merge pull request #3325 from rdohms/implementing-abandoned-packages
...
Abandoned Package Warnings
2014-11-20 13:09:18 +01:00
Jordi Boggiano
ec0463a400
Add tests for platform packages required by root and avoid creating rules altogether instead of disabling them, refs #3320
2014-10-17 15:30:27 +01:00
alu
b7fa302b90
add ignore-platform-package-requirements for update/install commands.
2014-10-08 14:20:36 +09:00
Rafael Dohms
346133d2a1
PR Review
...
- reverted comma removal
- made getReplacementPackage consistent
- removed abandoned flag if false
2014-10-03 15:12:16 +02:00
Rafael Dohms
f9f2bbac59
Abandoned packages support
...
Added warning to the installer process.
If any installed packages are flagged, the user will get a warning at the end
of the install/update process.
2014-10-03 14:48:28 +02:00
Jordi Boggiano
62b5062146
Improve sorting of plugin packages, fixes #3109 , refs #2972
2014-09-22 17:04:58 +01:00
David Zuelke
d47d9eb253
remember prefer-stable setting in composer.lock
2014-07-07 21:20:46 +02:00
Mátyás Somfai
2ed0bfc1ba
added tests for not updating packages referenced by specific commit hash
2014-05-27 14:23:31 +02:00
Jordi Boggiano
e23665be59
Fix replacers being picked if whatProvide was called before building the package whitelist, fixes #2991 , fixes #2962
2014-05-23 15:22:53 +02:00
Jordi Boggiano
d99212da52
Fix integration tests
2014-04-07 11:10:57 +02:00
Christian Flothmann
2241328934
fix "replace-alias.test" test
2014-03-12 16:35:04 +01:00
Christophe Coevoet
b639005f29
Added a failing test for #2626
2014-03-12 15:10:25 +01:00
Nils Adermann
ec12b8a675
Add tests for the changes in #2690
2014-02-21 13:15:07 +01:00
Nils Adermann
3148ffd355
Whitelist packages with names matching those specified before generating rules
...
Addresses #2690 doesn't do any performance optimisations yet which we
could do now
2014-02-21 12:25:15 +01:00
Phillip Look
07a7284ffc
Change dependency processing for update with whitelisted packages
...
By default dependencies of white listed packages are no longer installed automaticaly.
To Install dependencies of whitelisted packages use --with-dependencies.
- rework after review comments
- precise documentation of option
- add missing punctuation marks
2013-10-16 09:37:14 +02:00
Nils Adermann
01a08a2ff3
As preparation for composer plugins, rename custom installers to plugins
2013-08-30 12:51:40 +02:00
Jordi Boggiano
61c0127f05
Fix build
2013-08-23 11:59:26 +02:00
Jordi Boggiano
21299e0bc4
Make sure all installers are installed first unless they have requirements, refs #2107 , fixes #1147
2013-08-12 00:28:33 +02:00
Jordi Boggiano
1a7f734bc7
Fix test
2013-06-04 15:39:55 +02:00
Jordi Boggiano
9d948eb795
Merge branch 'disjunctive'
2013-05-04 10:48:14 +02:00
Jordi Boggiano
9d814c948e
Adjust circular dep test
2013-04-30 10:34:58 +02:00
Marco Pivetta
d7e8aa49a5
Adding failing test to show the current failure in circular deps resolution
2013-04-29 23:35:44 +02:00
Jordi Boggiano
faa419cc0e
Merge remote-tracking branch 'hason/alias'
2013-04-28 12:54:59 +02:00
Jordi Boggiano
0cccafbe81
Add disjunctive multi-constraints with |, refs #643 , fixes #1342
2013-04-27 15:20:35 +02:00
Jordi Boggiano
db4055b778
Put a higher prio on replacers of the same vendor as the required package
2013-04-17 15:39:42 +02:00
Martin Hasoň
02f92e678f
Fixed update alias packages in dry-run mode
2013-04-11 13:20:35 +02:00
Martin Hasoň
753a8345cb
Added support for the alias of an aliased package
2013-04-11 13:20:34 +02:00
Jordi Boggiano
bf307de1d6
Fix tests
2013-03-28 20:42:25 +01:00
Jordi Boggiano
ee60df708d
Handle stability changes correctly, fixes #877
...
On update, packages that are less stable than the minimum-stability allows will
now be downgraded to their correct versions, even if they were installed as
unstable already.
2013-03-10 19:55:26 +01:00
Jordi Boggiano
636aa965f7
Fix tests
2013-03-07 09:40:22 +01:00
Jordi Boggiano
ea7d79ab03
Make sure platform requirements of the root package are enforced when installing from lock, fixes #1611
2013-03-03 20:05:46 +01:00
Jordi Boggiano
4207fc3b19
Refactor require-dev handling to use one single repository and a one pass solving, fixes #719 , fixes #1185 , fixes #1330 , fixes #789 , fixes #640
2013-03-03 00:41:12 +01:00
Jordi Boggiano
c29f3c698e
Fix support of aliases combined with reference locked packages, fixes #1631
2013-02-28 10:51:21 +01:00
Jordi Boggiano
c31f4be112
Add test to verify url and and hash are updated, fixes #1460
2013-01-07 20:27:52 +01:00
Aurélien Thieriot
e264282ac7
Allowed only * wildcard
2012-12-13 14:06:06 +00:00
Aurélien Thieriot
159badb06b
Add ability to use a Regexp when updating packages
2012-12-13 12:24:42 +00:00
Jordi Boggiano
eef64d1189
Update test
2012-12-06 10:26:16 +01:00
Jordi Boggiano
f1f1ddb66b
Fix updates when dev packages have new dependencies (no more double updates needed), fixes #1105
2012-11-22 22:47:19 +01:00
Jordi Boggiano
6d38709fe8
Fix create project test
2012-11-10 19:42:29 +01:00
Jordi Boggiano
5b1782970f
Fix test for new lock format
2012-09-27 18:44:53 +02:00
Jordi Boggiano
a9afa8bc1f
Merge remote-tracking branch 'mheleniak/prefer_dist' and fix dists
...
Conflicts:
src/Composer/Installer.php
src/Composer/Package/Locker.php
2012-09-27 18:36:55 +02:00
Jordi Boggiano
418e876e8a
Use only the locked repository when possible for better performance
2012-09-14 17:42:12 +02:00
Jordi Boggiano
83239aa338
Update lock file to contain the complete package info, fixes #890
2012-09-14 16:43:56 +02:00
Christophe Coevoet
9e372b1d8b
Simplified the code
2012-09-05 22:56:59 +02:00
Christophe Coevoet
f181dc84e2
Added tests for the suggestions
...
The test about replaced packages is failing because of #752 .
2012-09-05 20:54:00 +02:00
Jordi Boggiano
d5916ce731
Fix test
2012-09-04 20:24:05 +02:00
Mateusz Heleniak
d0829adfee
added test case
2012-09-01 00:30:48 +02:00
Jordi Boggiano
5a247ca9a5
Fix regression in updating dev packages to latest ref, fixes #1030
2012-08-27 12:03:07 +02:00
Jordi Boggiano
c97720c607
Fix picking of new dev packages for updates to latest source ref
2012-08-24 12:06:29 +02:00
Mateusz Heleniak
ac746ee5b0
fixed unit tests
2012-08-17 19:36:46 +03:00
Jordi Boggiano
c463216726
Restore test for full hash display in create project
2012-08-14 01:23:43 +02:00
Jordi Boggiano
5818d51af0
Refactor functional tests to fit existing tests better
2012-08-14 01:16:40 +02:00
Jordi Boggiano
2d19cf2a00
Fix hijacking possibility via provide bug
2012-07-11 19:31:30 +02:00
Jordi Boggiano
37ef2037cf
Add test case to ensure replace does not allow hijacking packages
2012-07-11 13:01:16 +02:00
Jordi Boggiano
e6f7150196
Change default minimum-stability to "stable", fixes #744
2012-07-04 14:22:09 +02:00
Jordi Boggiano
2ede0a3b54
Merge remote-tracking branch 'naderman/fix-duplicate-alias'
2012-07-01 19:07:14 +02:00
Nils Adermann
297bc914fc
Merge pull request #859 from Seldaek/whitelist_fix
...
Fix update whitelist behavior, fixes #782
2012-07-01 09:55:58 -07:00
Nils Adermann
3c7fbe9264
Add a test which verifies that aliases do not get duplicated on update
2012-07-01 18:28:33 +02:00
Jordi Boggiano
5c30fcb777
Fix update whitelist behavior, fixes #782
2012-07-01 18:03:01 +02:00
Nils Adermann
0da71001e3
Add test for updating an aliased package to a non-aliased one
2012-07-01 17:41:16 +02:00
Nils Adermann
67fde90666
Correctly sort operations within transactions using DFS
...
Fixes #655
2012-06-05 01:06:35 +02:00
Jordi Boggiano
5bfbff867c
Root requires are not taken into account in locked installs, fixes #669
2012-05-28 18:57:59 +02:00
Nils Adermann
c7250917e8
Skip dependency packages required in composer.json in update whitelist
2012-05-28 12:06:43 +02:00
Nils Adermann
dfe366152c
Add an update whitelist test for a dependency specified in composer.json
2012-05-28 11:55:16 +02:00
Nils Adermann
90c515522a
Change whitelist integration test to check it doesn't update unrelated packages
2012-05-28 01:25:34 +02:00
Jordi Boggiano
734317b812
Add test and fix update whitelist feature
2012-05-28 00:11:47 +02:00
Jordi Boggiano
43150b88a2
Refactor integration tests to accept any run command
2012-05-28 00:11:18 +02:00
Nils Adermann
41215a0e47
Require first version of a root package alias, rather than alias
...
This makes sure that the alias will always be installed, even if it isn't
technically needed.
2012-05-24 23:29:08 +02:00
Jordi Boggiano
9857145830
Add failing test when aliasing a feature to an aliased version
2012-05-24 20:53:13 +02:00
Jordi Boggiano
ba29b4bf94
Added references for dev versions, fixes #599
...
dev-<branch> and <n.m>.x-dev versions can now have a #<reference> appended
to them. This reference being a git/hg commit hash, or svn revision.
2012-05-17 04:07:14 +02:00
Jordi Boggiano
5e8418a4f5
Add test for aliases and overrides between repos
2012-05-13 22:43:07 +02:00
Jordi Boggiano
4505df29df
Add functional tests for the installer, fixes #580
2012-05-13 21:42:43 +02:00