I’m new to working with the UE4 source code. I have forked the repository, cloned my fork, and added Epic’s source as a remote.
However, I seem to be encountering something that I found nobody else mentioning. When I checkout a certain release tag of the repository (e.g. git checkout 4.7.6-release), the checkout hook downloads the required dependencies (as expected). If I checkout a different branch, it will download new dependencies (as expected?), but then, when I immediately re-checkout the previous branch (e.g. 4.7.6-release), it re-downloads ALL the dependencies again (all 3GB). The only branch that seems to use cached dependencies is the master branch. Every other branch re-downloads the dependencies, every single time.
This is making switching between branches an extremely slow process (not to mention is going to max out my ISP bandwidth, at 3GB per checkout).
I need to switch back and forth between various release versions of the engine source code, repeatedly, in a given day.
Am I doing something wrong? Is this the expected behaviour? I was under the impression these dependencies should be getting cached so I’m surprised that it re-downloaded the entire set of files again when I re-checked out a branch other than master.