1

D8 Configuration management is really awesome and easy to use when there's only one developer working on a project. We are running into challenges in keeping configuration synced between environments when more than one developer is introduced to a project at the same time.

Example:

  • Developer A is working on feature A. Exports configuration to their feature branch and pushes it to a shared develop branch.
  • At the same time, developer B is working on feature B and does the same thing - pushes feature configuration to the shared develop branch.

How do you import feature A and feature B concurrently?

3

Don't push to the develop branch directly. You should have a branch and merge strategy. If using GitHub or GitLab or similar, you would do a pull request of your branch to develop.

A common strategy (or one of) is the Git Flow workflow. Some links to explain Git Flow:

There are a handful of strategies, use whatever will fit for your team.

One of the few circumstances I ran into with merge conflicts was if someone was working on something touching the same configuration areas as another person.. we avoided this by just coordinating the work well.

  • Oh, i see. So within a pull request, ONLY the configuration files the developer has modified get merged in? – erier Dec 14 '18 at 14:52
  • Yes, at a high level its a merge of the changes. Check the GitHub link I added. I don't know if you are using GitHub or whatever service or just raw Git, either way, don't push directly to a mainline branch in a multi person team. You will have conflicts and issues every step of the way. – Kevin Dec 14 '18 at 14:56
  • 2
    Ok - good to know. We use bitbucket but are not taking advantage of Git Flow. That looks to be a great strategy. Thanks Kevin – erier Dec 14 '18 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.