> Luckily all tools are scriptable using bash.
Lucky you. :)
This isn't a simple problem and I don't know of any one size fits all solution for this. From what I could tell, every company comes up with its own asset pipeline that fits with their art, code, test and release processes.
I came up with a half assed solution myself back when I was still working in games. We had a separate build server just for assets. It ran a script every hour that pulled down both the code and art repos and watched for changes in certain folders. The shaders, 3d models and textures were linked via naming conventions. Through those naming conventions, the system always knew where to find all of the relevant pieces of any given individual 3d asset (in theory, anyway). It would then create the assets and check them into a separate SVN repo. This system worked ok, but it had a number of problems.
One problem was the naming conventions. The artists didn't much pay attention to file names, so any new asset they created would inevitably not get built because it didn't adhere to the conventions. We thought about replacing the naming conventions with a json file describing every 3d asset, where their shaders were, where their 3d models were, any special settings, where they should be saved, etc. but that would have required either a GUI application to help manage it all or a coder whose job was to manage the data files. The former would have taken time and the latter wasn't much better than what we were doing already. We still needed a coder whose job it was to fix asset build issues, which would pop up on a regular basis.
Another issue we had was build revisions. Game builds are complicated enough and we added the additional complexity of having to specify a branch name and version number for the assets used. It doesn't seem like it would be an issue, except when you have parallel art work going on in parallel branches along with parallel dev work going on in parallel branches things break. In retrospect, we should have put our foot down and said there is only one official asset branch and all dev builds will use the latest version of that branch, but we didn't.
Sorry for the essay, but I hope it was of some use to you. If you ever come up with a universal asset pipeline, sell that sucker! :)