Prior to calling this DeployChanges(), don't we know the targeted commit id?  It would be better to look up the exact one rather than relying on CurrentId head.  If targeted commit id is not available, I would capture the IDeploymentStatusManager's ActiveDeployment before and after the _deploymentManager.Deploy.  If it changed then you know deployment did happen.  If it doesn't, then it has to be treated as error - the changes do not make it to deployment.