On 2014-06-10, 7:30 PM, Tim Starling wrote:
I have suggested, as a compromise, to make the vendor directory be a submodule pointing to mediawiki/core/vendor. Then users can either run "git submodule update --init" to obtain dependencies, or they can omit submodule initialisation and instead run composer.
I can only think of one potential pain point with this. If someone does `composer install` instead of checking out the submodule, won't `git status` complain about that (by displaying it as a modification to core)?
That said, I don't see the point of having mediawiki/core/vendor without making it a submodule, so I'm in favour of adding it.
To clarify, without a submodule link you don't know what the correct commit within mediawiki/core/vendor for the commit of MW you have is tied to: - On REL1_## branches simply cloning mediawiki/core/vendor would bring newer versions of libraries that don't match the one the release was made for. They could be potentially incompatible breaking the wiki, or may have bugfixes that hide bugs encountered by tarball users when you try to verify them. - And it could be worse for individual commits in master. It should be possible to `git bisect` anything within core, so we definitely should make sure every commit knows what commit of mediawiki/core/vendor it should be using, rather than only ensuring that each of our git heads has a matching mediawiki/core/vendor head to use.
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://danielfriesen.name/]