Drush config:status returns "Different" for partial split

Created on 23 February 2024, 4 months ago
Updated 28 February 2024, 4 months ago

Problem/Motivation

After updating to config_split 2.x (2.0.0), I noticed a change in the way that drush config:status interprets a partial config split.

In my local config split I have a partial split on search_api.server.acquia_search_server. With config_split 2.0.0 I also now have a config/local/config_split.patch.search_api.server.acquia_search_server.yml file.

Locally, with the local config split enabled, running drush config:status returns this:

 ---------------------------------------- ----------- 
  Name                                     State      
 ---------------------------------------- ----------- 
  search_api.server.acquia_search_server   Different  
 ---------------------------------------- ----------- 

This behavior is different than earlier versions of config_split, where if all was well, this would've returned something to the affect of "there are no config changes" (despite the local config split was imported).

With this change in behavior, it is now difficult to use drush config:status as an indicator of whether there is anything wrong with your config. Previously you could use this to determine if there was configuration stuck in an overridden state which needed to be exported or examined. Now that partial splits are read as being overridden/different, this command is much less useful.

Steps to reproduce

Proposed resolution

Make partial splits be interpreted as imported by drush config:status as in previous versions config_split.

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Postponed: needs info

Version

2.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States maskedjellybean Portland, OR

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @maskedjellybean
  • πŸ‡ΊπŸ‡ΈUnited States maskedjellybean Portland, OR

    I realized I can get around the issue by editing my local config split then choosing Advanced > Do not patch dependents. I understand this undoes some of the benefits of 2.x, but it is a way to avoid this issue for now. Since my local dev scripts will yell at me (and other devs) if drush config:status returns something other than "No differences between DB and sync directory.", I need to do this.

  • Status changed to Postponed: needs info 4 months ago
  • πŸ‡¨πŸ‡­Switzerland bircher πŸ‡¨πŸ‡Ώ

    It would be great to have more information about this.
    You should see the difference in the config import UI too or by asking drush to provide it.

    My bet is that it has to do with sorting. ie a bit is removed and then added again but in a different position. This is a problem only with patching of course so your workaround will get away with it because it will split the whole config.

Production build 0.69.0 2024