In most cases, the local commit object is amended after creating the
revision; this changes its commit-id to no longer match the
"local:commits" property that was uploaded originally.
Update the property after the local amend. This also moves the
"differential.getcommitmessage" step to only be called if it is
necessary, saving an API round-trip in some rare cases.