Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why does BLT assume the usage of a "vcs" config directory? #678

Closed
bkosborne opened this issue Nov 16, 2016 · 6 comments
Closed

Why does BLT assume the usage of a "vcs" config directory? #678

bkosborne opened this issue Nov 16, 2016 · 6 comments
Assignees
Labels
Support A support request

Comments

@bkosborne
Copy link
Contributor

BLT assumes the usage of a "vcs" config directory, I think because Acquia sets this in the ACE config file that's included on all ACE sites.

I don't really understand why we should have both the "vcs" config directory and the default "sync" directory that Drupal assumes. With the "vcs" approach, I have to specify that directory when running drush config-import and config-export, otherwise drush assumes the default of "sync".

Maybe at the very least this value can be changed to use a variable instead, so we can override it in our project.yml file? https://github.com/acquia/blt/blob/8.x/phing/tasks/deploy.xml#L167

@grasmash
Copy link
Contributor

grasmash commented Nov 16, 2016

paging @danepowell. I think I had the same question and @danepowell explained it to me :)

@grasmash grasmash added the Support A support request label Nov 17, 2016
@danepowell
Copy link
Contributor

danepowell commented Nov 17, 2016

Hi @bkosborne , BLT generally assumes that you are storing config in Git, i.e. at /config/default. BLT defines that to be the sync directory in local.settings.php, while Cloud calls that the vcs directory.

Honestly, I'm not sure why Cloud, BLT, or Drush settled on the conventions they did. I suspect BLT chose the sync key just for ease of use, because Drupal/Drush generally assumes you are working with the sync directory unless you specify something else. Cloud probably chose vcs because Drupal by default puts the sync directory into the files directory (which conflicts with how we typically use it). In that case, vcs is actually a more meaningful name.

I could see arguments for any of the following:

  1. Leave everything as it is 😄
  2. Use vcs across the board, even locally, which would be more consistent and less confusing, but would require anyone running drush config-import/export to manually pass vcs as an argument. We could write a wrapper command to make that easier.
  3. Make the deploy/local default config directory key configurable, to support other conventions and other deployment environments besides Cloud. So if you wanted to use sync for deploys you could. Or someone else might prefer to use vcs everywhere. The only hiccup here is that it's not as trivial as adding a Phing variable... you'd also have to update the config directory definition in local.settings.php.

@bkosborne
Copy link
Contributor Author

Thanks @danepowell

Well I guess for now it makes sense to leave it as it is, I was mostly just confused

@grasmash
Copy link
Contributor

@weitzman Could you shed some like on this? I'm frankly still not sure why Drush and Acquia Cloud use a vcs dir rather than a sync dir.

@geerlingguy
Copy link
Contributor

I did a little more research, and it seems there's no particular reason why vcs was chosen... It just sort-of happened, and it's the default on Acquia Cloud. It seems to have been made the default around 8.0.0-rc2, and besides a few mentions in the documentation, there's no other public reasoning behind the ACE environments using vcs instead of the default sync directory used by Drupal core.

grasmash added a commit to grasmash/bolt that referenced this issue Apr 3, 2017
@grasmash grasmash self-assigned this Apr 3, 2017
grasmash added a commit to grasmash/bolt that referenced this issue Apr 3, 2017
@weitzman
Copy link

weitzman commented Apr 3, 2017

There was a reason, but its not a great one. I suggest Cloud and BLT just consider the standard sync dir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Support A support request
Projects
None yet
Development

No branches or pull requests

5 participants