Drupal 8 has introduces composer as the “preferred way” of managing an installations code.
Unfortunately this introduces a massive new headache for people who run a dev/prod environment where git is the primary method of keeping the two environments in sync
When composer pulls in a project with a git repo that project is automatically excluded from any downstream (prod) pulls therefore whenever you attempt to do an update to the upstream repo (dev) and pull the changes into prod any changes in the submodules is ignored.
This introduces multiple steps that are not handled at all by composer (i.e. it does not create submodules in git).
Of course the easiest response is to do your updates on prod once tested in dev. Well no! we do not put composer on prod nor do we put drush on prod. This is a security requirement to prevent the developer from getting lazy. We want to enforce all work be done on dev and then only the fixed code and commits be transferred to prod, complete with the git history. So composer/drush is out of the question.
So I’ll end this little rant with a question.
Has anyone else come up against this and what is the best solution?