Closed ajh123 closed 6 months ago
Vlad modified some dependencies so they will compile for linux and some other things so he is not going to do that I am 99% sure of that and he will probably respond to the issue some day but i think he wont agree
He could store his modifications in a fork of the original repositories, then use the fork for the submodule instead. Also, this will make it easier for people to use these modification in their own projects if they want to.
yeah no it doesn't really make sense in my case, so let me break down the problems, so 1 the size of the repository I don't care and nobody does, it is stored on GitHub, right now with probably all of the libraries that I will ever use, but at least with most of them, they take 100 MB of space (including assimp that is kinda big), And 100 MB this days is basically free and the libraries are just a fraction of the space that assets take :))). Saving space on my PC would be nice but I am not doing that because I have to clone eventually the libraries to compile so I am only saving github some space and I clearly don't care about that. I'm curious tho what are you talking about when saying "and it also counts as distribution (which some license may not allow)."
Next it really doesn't make sense to make now something like idk 5 forks that I now have to maintain and update only for a single like of code added for some of them, that was kinda specific to this project so I don't think it brings any value. Also most of the dependences are yes indeed modified for example imgui uses a specific branch and I added plugins and a custom cmake and this happens for most of the libraries.
Finally upgrading is something that I would never want to do mid development (and clearly I would not want someone cloning my repo and using an submodule upgrate to potentially break something). If I will ever update a library, that's not something fun at all, for the imgui library for example it probably would take a full day of work to make sure the docking part is working again and to also make sure the other stuff is still working (they can change small lower level parts of the API from time to time and I use some of those for custom stuff).
And so I really don't have any benefit to add an extra step that also can make the repo harder to clone for a beginner (since I have a youtube channel aimed at beginners many people haven't even used git before)
Including third party repositories as raw files will increase the size of this repository, and it also counts as distribution (which some license may not allow).
A Git submodule is like a Windows shortcut but for repositories. It also means updating to a newer version of the library will be easier since you just need to do a
git pull
inside the library's folder.Once submodules have been cloned it will be the same as it currently is expect you have the added benefits.