Renaming packages makes previous version impossible to install
- Dominant language
- PHP
- Stars
- 3.3k
- Forks
- 530
- Avg merge
- 6h 53m
- Merged PRs (30d)
- 13
Description
Hi,
we have a setup where we disable packagist in our composer.json and instead use satis only for our projects. Our satis.json has entries like the one in the sample file below.
We encountered some weird behaviour where renaming a package makes it impossible to install older versions with the previous package name.
Example:
The package `videlalvaro/php-amqplib` changed maintainer and got renamed at the same time to `php-amqplib/php-amqplib`. Satis successfully detected the package name change and builds now all the version for the new package name (see image below). But from this point on you wont be able to install tags with the old package name which do not contain the `"replace"` property. And because there is no repository which has the old package name in current master there is no way to add a second entry for old packages (apart from forking the repo and having the last commit before the rename as your master HEAD).
This is a problem when you use libraries which have such a packages as a dependency. As they then require a package which is not available anymore via satis.
This is not an issue with packagist because packagist keeps the old project after the renaming.
Is there any way to build 2 packages for satis for packages which got renamed, at least for all the tags which have a different name in their composer.json than the main package name?
Sample json:
``` json
{
"repositories": [
{ "type": "vcs", "no-api": true, "url": "https://github.com/videlalvaro/php-amqplib.git" },
]
}
```
This generates the following package definitions on satis:
Contributor guide
Assessment
This issue has not been assessed yet.