Problem/Motivation
I am having a hard time understanding the "proper way" to install and manage my Drupal 8 project, especially with regards to building it and using source control. Where I'm coming from: I've been a Drupal developer since Drupal 4.7, so my typical workflow would be to download the tarball of Drupal (typically with drush) and use that as my starting point. I would commit the core Drupal download into version control as "initial commit" on master when starting, and I would branch from there, etc. With Drupal 8, we see the advent of Composer.
The other thing I'm used to is copying example files directly into their counterparts, and modifying from there. With Drupal 8, I'm seeing example.gitignore (rather than having Drupal ship with a .gitignore directly).
My "tarball" approach and my "use example.* as baseline" don't mix well. What I'm trying to understand here is if we have any sort of actual "bug" here at all with any component, so I'm initially filing this as a support request. Here's my issue:
- I start by downloading and extracting a tarball of Drupal 8 (the particular site I see this on started as 8.1.0 and went to 8.1.1 recently)
- I copy my example.gitignore to .gitignore - this ignores "vendor" folders by default.
- I commit, push, deploy to production (after some development).
- My co-worker comes along and clones the site, they get nothing in /vendor, NOR IN /core/assets
- Co-worker (logically?) runs `composer install` from root of Drupal project
- Co-worker sees site running kind of OK, except nothing's been installed in /core/assets - so there is no jquery, normalize, etc.
Proposed resolution
One of these:
- Change vendor to /vendor
- Exclude /core/assets/vendor
Remaining tasks
Decision on which method is preferable.
User interface changes
None.
API changes
None.
Data model changes
None.