6658 Commits (a3f9d300f3ec0be2150d53be0e4f814460800346)

Author SHA1 Message Date
Jordi Boggiano 191196de48
Detect broken packagist.org mirrors and fix them on the fly, refs #9297 4 years ago
Jordi Boggiano 62eff8e979
Tweaks to new proxying code, refs #9324 4 years ago
Jordi Boggiano 62fd612e63
Merge remote-tracking branch 'johnstevenson/curl-proxy' 4 years ago
Jordi Boggiano 0d236858ec
Merge branch '1.10' 4 years ago
Jordi Boggiano 25496c199d
Update link to composer 2 release notes 4 years ago
Jordi Boggiano 28c7e38411
Merge remote-tracking branch 'stof/fix_why_not' into 1.10 4 years ago
johnstevenson d47261eb93 Refactor proxy handling for Composer2 4 years ago
Nils Adermann e868996bdd Validate: Warn about providing or replacing packages you require 4 years ago
Jordi Boggiano 8564dd8dac
Allow Url::sanitize to escape URLs without scheme 4 years ago
johnstevenson 8feb83b22b
Remove duplicate StreamContextFactory ssl options
Added in Dec 2014 (commit 8dad846), superseded in Jan 2016 (pr #4759)
4 years ago
Jordi Boggiano 49a28f606c
Merge branch '1.10' 4 years ago
Christophe Coevoet 3dd7e829b9 Fix support of provided packages in the why-not command
The version provided by such a rule is defined by the constraint of the
rule, not by the package version.
4 years ago
Nils Adermann dacc21e54f
Merge pull request #9158 from infabo/patch-1
Fix symlink check
4 years ago
terry.kern 0466add822 Also use channel string for update message
https://github.com/composer/composer/pull/9305#issuecomment-714381153
4 years ago
TerryKern e68b52697b Improve readability of version info message
Instead of:

> You are already using composer version 1.10.15 (1 channel).

it shows:

> You are already using composer version 1.10.15 (1.x channel).
4 years ago
Nils Adermann 6409ed0fc2 Validate: Warn about providing or replacing packages you require 4 years ago
Jordi Boggiano b74afd772b
Merge pull request #9309 from naderman/fix-solver-9290
MultiConflictRule conflict analysis handling on level 1 decisions
4 years ago
Nils Adermann 9338401be7 CS: Typehint array, remove unnecessary docblock, call spl_object_hash once 4 years ago
Nils Adermann 7b4cb9c370 Solver: Prevent infinite recursion in analyzeUnsolvableRule
In complex scenarios reasons for learned rules can themselves be learned
rules caused by other learned rules which had the some of the same
reasons. In this situation iterating over all problem rules requires
keeping track of which rules have previously been analyzed to avoid and
endless loop.

Side effect is that the sorting of problems including learned rules
changes slightly.
4 years ago
Nils Adermann 9641ad6025 SolverProblemException: Hide learnt rules on output
Results in too much error output which is not helpful. Very repetitive
and hard to understand. In issue 8903 even leads to endless recursion
bug.
4 years ago
Nils Adermann 7f41698157 Solver: on analyze, when reaching last decision > l1 skip other multi rule literals 4 years ago
Jordi Boggiano 14ec957e96
Fix composer show -a usage, fixes #9304 4 years ago
Jordi Boggiano 99a5469b5e
More hints 4 years ago
Chauncey McAskill 1bb87babe6 Fix availability of $urls in FileDownloader
Fixed:
- Ensure manipulations to the first element of $urls in the $download callback are available in $accept and $reject
4 years ago
Jordi Boggiano c46b75de81
Allow any non-numeric version to be used for flex as we can not establish if they are compatible 4 years ago
Jordi Boggiano 59acf9d4aa
Remove dev hint for 2.0, fixes #8738 4 years ago
Ingo Fabbri 750172dc4c
Fix symlink check
Given you have a symlink in one of your path repositories and mirroring-strategy enabled.

```bash
lrwxrwxrwx 1 inf inf    8 27. Aug 17:41 Create.html -> New.html
-rw-r--r-- 1 inf inf  750 27. Aug 17:24 Edit.html
-rw-r--r-- 1 inf inf    0 27. Aug 17:24 List.html
-rw-r--r-- 1 inf inf 5064 27. Aug 17:24 New.html
-rw-r--r-- 1 inf inf  716 27. Aug 17:24 Show.html
```

`$file->getLinkTarget()` just returns a relative path in this example. It does not return an absolute normalized path.
`$sources` is always a normalized path.

`strpos` can never be `0`.

Use `$file->getRealPath()` to fix the strpos-check.
4 years ago
Jordi Boggiano 2ca2ec3d0a
Allow loading flex main branch 4 years ago
Jordi Boggiano 743d551399
Fix using show command to show platform packages, and allow using it to show replacers too by using the replaced name, fixes #7628 4 years ago
Jordi Boggiano 8d0596163c
Rename abstract class back to the previously present SolverOperation, mark it internal, reintroduce some duplication 4 years ago
Bezpiatov 140de5480d Fixed variable usage 4 years ago
Bezpiatov 9a5121ed27 Refactor Operation classes to use constants instead of strings for comparison 4 years ago
Jordi Boggiano e7d99c37b3
Fix show --locked to avoid listing all the things 4 years ago
Jordi Boggiano da1357c663
Avoid showing alias versions in show command, show the original version 4 years ago
Jordi Boggiano 9492dc7f7c
Make sure symfony/flex does not get loaded in a buggy version to avoid bogus issue reports 4 years ago
Jordi Boggiano c5d8a13bc4
Bump curl timeout to 300 4 years ago
Jordi Boggiano 34dd9e19e1
Add curl/zip ext info to diagnose command 4 years ago
Nils Adermann 8a2bae82ab Improve docblocks on fixed/locked/fixedLocked packages in request
Also fixes two small code review issues
4 years ago
Nils Adermann fdde9e5933 On composer install we fix locked packages, but consider them locked for error reporting 4 years ago
Nils Adermann 74fb313c39 Separate locked packages from fixed packages in request
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
4 years ago
Nils Adermann 73e24ea9fb Partial updates should remove all unused dependencies
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
4 years ago
Nils Adermann 85eb007f4f Transaction: Define a total order on packages to keep behavior on PHP8
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.

With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
4 years ago
Jordi Boggiano 9ca7457698
Check whether remove command successfully removed the target packages, fixes #6998 4 years ago
Jordi Boggiano 7ea6d5d2e7
Merge branch '1.10' 4 years ago
Jordi Boggiano aac1a25ee3
Merge pull request #9278 from Seldaek/plugin-helpers
Plugin helpers for v2
4 years ago
Nicolas Grekas 4feed8b85c Fix parsing "branch-version" 4 years ago
Jordi Boggiano bafdf9f705
Merge branch '1.10' 4 years ago
Jordi Boggiano d2d606ced2
Merge pull request #9273 from nicolas-grekas/dev-version
Add support for "extra.branch-version"
4 years ago
Nicolas Grekas 893fbfcb89 Add support for "extra.branch-version" 4 years ago
Jordi Boggiano 8ad33298ff
Fix regression, refs #9204 4 years ago