It is possible to validate configuration by checking that all the dependencies exist prior to importing. This will make the configuration import more robust by doing a pre flight check that what is being provided is sane.
How to break your site with HEAD
- Site config exported to a git master branch.
- Developer A: Deletes the only instance of a field, exports, and commits this git on a branch dev-a
- Developer B: Uses this field in on another content type, exports and commits this git on a branch dev-b
- Team lead: Merges dev-a and dev-b to master
- Developer B: pulls master and runs config import - field storage is deleted (data loss) and field on the other content type is completely broken resulting
This patch resolves this by informing the developer B that the configuration cannot be imported because of missing dependencies.
Beta phase evaluation
|Issue category||Bug because through merging configuration changes from multiple developers (which do not conflict) it is possible to create an invalid configuration export that on import will break your site and potentially result in data loss.|
|Issue priority||Critical because once the configuration is imported and data changes made as a result of field changes it is impossible to go back without having having a database backup.|
|Disruption||Not disruptive at all since its only an addition.|
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 94,472 pass(es). View
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 93,051 pass(es). View
|#45||Screen Shot 2015-05-13 at 17.47.09.png||175.82 KB||alexpott|