When using a deployment server, the trebuchet local driver runs update-server-info before a sync on the repo and all submodules. This is necessary because the deployment server isn't using bare repos.
There's a downside to this, though. It would be ideal to be able to often run fetches from the upstream, and to have minions run fetches from the deployment server, even outside of deployments, to make actual deployments much faster. Since the update-server-info calls are after a sync it's dangerous to run fetches on the minions outside of a deployment since update-server-info hasn't been run for fetched objects.
If possible it would be much better to run update-server-info in the relevant git hooks.