The annex thing is interesting. For anyone looking for an alternative, try providing a version within a file's URL and retrieving it in your build script, ie. wget https://internal-server.youco.com/path/to/v3/big-file.psd
Internally, you can create the /path/to/v3/ part using either a snapshot-capable filesystem with periodic snaps (in which case v3 might become a datetime string in yyyymmdd type format) or a script that creates incrementing version numbers of symlinks to the same when filesystem contents change -- using inotify() or similar.