Hi, I am having problems reverting features containing metatag configuration. I have the situation that we store settings in features per functionality. E.g. we have a news feature and a blog feature. The news feature contains the metatag configuration for the news_item node type and the blog feature contains the metatag configuration for the blog_article node type. When I revert either one of those features the other feature gets overridden and the metatag settings from that feature are 'lost'.
I looked at the implementation of hook_feature_revert() in metatag.features.inc and I am wondering if that implementation is correct. From what I can tell every time a feature is reverted ALL metatag configuration ($default_config is iterated through and a db_delete() is performed on each $default_config item) is deleted and only the configuration from the feature that is being reverted is re-added (also resulting in undefined index errors, since the feature might not always contain the same items as the default config).
I got my issue resolved by commenting out the line getting the default config and replacing $default_config by $feature_conf in the foreach(). This will make sure only the config that is in the feature is deleted and re-added. I am not sure if that is a solid solution though, since you might want to also delete any configuration that is no longer valid/exported in a feature.