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

joachim created an issue.