This surfaced when I was trying to move from timestamped to revision-based deploy mechanism, and the git_ssh_wrapper's private key had the incorrect permissions for the deploy user.
When using the deploy resource, it seems that the "user" is seemingly not used, and the git resource is run as the chef-client user (root).
When using the deploy_revision resource, this failed repeatedly, until I had reset the permissions for the private key
Both resources run:
But when running deploy_revision with incorrect credentials, this would fail. Fixing the credentials fixed the execution.
The inconsistency is confusing, and should probably behave the same in both instances.