I like this idea. The reason being that looking in the future I can see a potential problem arising where projects that are built today and released using say v3.3.1. But later ESP-IDF will be on another version say v4.x.x. Should my customer want to make changes a year later I need to build that project built on v3.3.1 but my current setup is on v4.x.x which wont work.Lets look at esp-adf project for example. Esp-idf is used as submodule with particular commit:
I believe you can build any project you want the same way and instead of having global esp-idf, you can have esp-idf per project.
Did all that makes sense How can I copy v3.3.1 into the each project so I know its all self contained much like what ESP-ADF does