Problem/Motivation
StorageComparer does nothing until you call createChangelist() on it:
$storage_comparer = new StorageComparer($syncStorage, $this->activeStorage);
$storage_comparer->createChangelist();
This isn't documented, and it's an easy trap to fall into to pass a new StorageComparer to the ConfigImport class without having called that, which then gets you imports that do nothing.
Steps to reproduce
Add a $ready property, or remove the initialisation of $changelist to an empty state:
> $this->changelist[StorageInterface::DEFAULT_COLLECTION] = $this->getEmptyChangelist();
Then have methods which need the changelist check for this, and throw an exception if the changelist has not been computed.
Proposed resolution
Remaining tasks
User interface changes
Introduced terminology
API changes
Data model changes
Release notes snippet
Comments