The first thing I noticed is that the p4 push bypasses review enforcement. This makes sense, since the DVCS manual says the following:
What's the logic behind the submit triggers in the shared server not being run as they would be in a traditional submit? I can imagine this would break a lot of workflows that rely on custom triggers, not only the pre-commit-review workflow. Is there a way to disallow pushes from bypassing review enforcement? Possibly with pre-push triggers?
That leads me to my following question. Let's say I did have review enforcement working for pushes -- these would all fail, since they wouldn't be associated with a Swarm Review. It's not clear to me how one would create a review for a changelist that hasn't been pushed yet. How would one emulate what is essentially a pull request? It's almost like you need a way to transfer a set of local/personal changelists to the server as a shelved changelist. e.g.
p4 push --shelved --create-review