Patch Set 3:

An updated patch which allows PushProcess to be executed with an empty collection of RemoteRefUpdates. In that case the collection is filled with RemoteRefUpdate created for Refs returned from connection.getRefsMap(). Skipped checking "branch.$name.merge" cfg entries here, see my comment above.

It's a quick and dirty patch, but I'm ready to polish it if you guys think it's going in the right direction.