I am new to using configuration management, but here's what I've done:

1) set up a new site, create some content types and taxonomies.
2) Add the content types and taxonomies to configuration management, and export their configs.
3) set up a second new site, with the same config directory contents.
4) run drush csyn and/or synchronize through the GUI.

I get no errors, and on visual inspection it seems to have worked just fine. But Git tells me that tracked.inc, and several of the files in the configuration directory have changed.

If I delete the configuration directory and check it out again, the UI tells me that all of the tracked items are "synced".

The second time (maybe third?) I ran the sync operation, only the taxonomy vocabularies were changed in the config directory. That's when I diffed them and discovered the DB has different VID than the datastore.

So here are my questions:

* should "drush csyn" be changing ANYTHING in the config directory? I would expect not.
* why are we tracking VID if we can't guarantee it on restoring a configuration?
* is this a bug?

Comments

dagmar’s picture

Thanks for reporting this.

why are we tracking VID if we can't guarantee it on restoring a configuration?

Probably this is the bug. We should not export $vocabulary->vid.

ohthehugemanatee’s picture

That's what I would imagine, but can we track things like term reference fields without a target VID?

dagmar’s picture

Well, that is the main issue we have with drupal 7. Is not only related to Taxonomy reference fields, it also happens on views (and not only for vocabularies, roles have this issue too).

We could document the case for CM on this post https://www.drupal.org/node/1702626 to deal with this kind of situations.

ohthehugemanatee’s picture

So, while we're still in D7....

I guess we don't export the ID, and have a couple of simple functions to convert back and forth when we sync.

Sorry, I'm totally new to CM... but don't we do this already? Even worse, what does Features do for this problem?