Optimisations and additions
This merge request comes with the following additions/changes:
- Feature: Integrated git into IMMS
- Optimizations.
To use git, you have to host IMMS on a linux machine (if you're using the docker image, this isn't an issue). It should also be mentioned, after configuring git, the very first load time will take a few seconds, all depending on the size of your repository and the connection speed. After that, the load time should be as expected. If you make changes in your repository, it will fetch and cache anew, and then the cache time will again depend on the size of your changes and connection speed.
The optimizations are mostly about cognitive complexity; the code is simpler (and prettier!) and uses fewer nested if-statements; this may improve stability and performance slightly, as we're catching errors and "falses" earlier, rather than later.