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/]