Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Instead the Makefile will emit an error if the contents of the > submodule aren't checked out (line-wrapped. GNU make emits this all on > one line): > > Makefile:1031: *** The sha1collisiondetection submodule is not > checked out. Please make it available, either by cloning with > --recurse-submodules, or by running "git submodule update > --init". If you can't use it for whatever reason you can define > NO_DC_SHA1_SUBMODULE=NoThanks. Stop. Sounds OK. But I actually do not mind to (and may even prefer to) have an endgame opposite of what this series tries to lead us to. We've tried to have this as submodule, we've seen that the arrangement works, and now we declare victory and get rid of the submodule. That endgame allows us not force people to grab an essential part of the codebase as an external dependency from another place, which feels quite bad, especially when their primary interest is not in dogfooding submodule but in building a working version of Git. Removing one and keeping the other between the two will make the distribution more streamlined by removing the build-time knob we need to tweak, but the one that gets removed does not have to be the in-tree one that allows people to "git clone" from just one place.