If I have a repository setup on the gatekeeper, with multiple branches, committing to two branches at nearly the same time will trigger both branches to build. One branch will finish before the other, and therefore push the remote HEAD forward. If the second build cannot merge as a fast-forward, it will fail to merge and fail to build. Simply re-running the second build will result in success because it will pull the changes that the first pushed on success. A safer strategy would be to not allow multiple branches to run if they are set to push on success.