asc-community / MxEngine

C++ open source 3D game engine
BSD 3-Clause "New" or "Revised" License
1.12k stars 59 forks source link

Recursive Git Clone #50

Closed wmcnamara closed 3 years ago

wmcnamara commented 3 years ago

Hi!

I was looking through the readme, and on the download section I noticed this line: "initialize submodules with cd MxEngine && git submodule update --init".

Will this have the same effect as a simple recursive git clone, such as: git clone https://github.com/asc-community/MxEngine/ --recursive?

Recursive just fetches the submodules, and I am assuming that the submodule call does the same aswell, but I want to be certain. Thanks!

MomoDeve commented 3 years ago

you can use --recursive if it works. The problem is that EASTL library which MxEngine depend on has recursive submodules which sometimes result in an endless loop of submodule cloning (see https://github.com/electronicarts/EASTL/issues/301) In the future I will probably fork EASTL, get rid of these submodules and make MxEngine depend on the forked version.

wmcnamara commented 3 years ago

Yep that's exactly what happened when I tried to recursive clone it earlier haha. It outputted some pretty scary git messages 😅

Thank you for explaining it! Would you mind if I submit a PR explicitly mentioning that --recursive will cause this?

MomoDeve commented 3 years ago

yes, it would be good to mention the bug in the readme. At least until I fix it

MomoDeve commented 3 years ago

I managed to make a fork of EASTL and EABase without cyclic dependencies, so now everything can be cloned recursively with just git clone --recurse-submodules https://github.com/asc-community/MxEngine