So, I found a workaround to my own problem. However, I’m still curious to know if the behaviour I was experiencing was the “intended” behaviour of the dependency update workflow.
That said, for those who are interested, here is my workaround:
I edited the Git post-checkout and post-merge hooks to take advantage of the --cache=$PATH argument to GitDependencies.exe (which, as far as I can tell, became available with the 4.8.0 release).
In the hook script, I query the current branch/tag that is being checked out/merged-into, and I use this to create a cache that is local to that version (e.g. P:/cachedGitDependencies/4.8.0-release/". This way, every subsequent time I checkout that same branch, the cache is still there, and it loads all dependencies from this cache. 0% of the dependencies have to be re-downloaded. This is much faster, and also helps with my internet bandwidth.
This isn’t a perfect solution, but it does at least help quite a bit with rapidly checking out different version releases (which is what I need to do).
Again, I’m not sure that I should have to do this… but it gives me the workflow that I would like, so I’m happy with this workaround.
Cheers,
Steve