Closed evandrocoan closed 11 months ago
I'm not sure we can make this distinction reasonably.
I think that would be enough:
ABC
to CDF
ABC
with no renaming.Then Package Control should should either:
``` sublime.yes_no_cancel_dialog( """ There is a package on channel 1 named `ABC` which was renamed to `CDF`. But there is also the package `ABC` on the channel 2 with no reamings. Which channel do you prefer to follow? """, "Rename it", "Do not rename" ) ```
There is already the package file package-metadata.json
with some info about the package. That file could also note from which channel does the package come from. And this data could be used to sort out this kind of situation.
I just implemented on my fork some simple form of check for it https://github.com/evandrocoan/PackagesManager/commit/f277a08fd6693738b6f10ac5b438d06c856207b3
It will not rename the package if the package-metadata.json
URL's differ. For example, Package Control wants to rename ABC
to BC
, but URL for the BC
homepage is http://bc.com
while the URL for the ABC
homepage is http://abc.com
. Then, it will not rename the packages.
This workflow, imposes that the package cannot change its name and homepage URL at the same time.
Related to:
This fix Package Control installing packages as D Programming Language
when the default package as D
from https://github.com/sublimehq/Packages is installed by Package Control. Because D Programming Language
has on its previous_names
, the package name D
.
Both packagecontrol.io and Package Control client merge all channels into one. Trying to track origin of each package would cause significant extra complexity just for this single purpose with various additional hard to handle edge cases.
It is probably instead a better step to update default channel and drop previous_names
which reached a certain age - maybe 2-3 years. After that period it should be safe to expect all clients have been updated.
I use a private channel, but it suffers from the renaming's added to the main Package Control public channel. For example, see:
When I add a new package on the private channel with name
ABC
and there is a renaming on the standard Package Control Channel sayingABC
should be namedCDF
, my packageABC
package on the private channel, which is non related to the packageABC
on the Standard Channel, gets renamed fromABC
toCDF
.