I haven't yet looked at the code, but I think your first bullet point is issue 1808.
Improvements to post-review error-handling with Perforce
Review Request #1886 — Created Nov. 1, 2010 and submitted
A handful of changes to improve error handling in post-review. * Die with an error when the provided Perforce changelist does not exist * Die with an error if diffs are empty * Die with an error when there are no changes in a Perforce changelist. Fixes issue 832. * Default to the default changelist when no Perforce changelist is provided. Fixes issue 1191. This corresponds to the top four commits at http://github.com/bhollis/rbtools/commits/errorhandling/. Note that 2bd8897b133aa81e2b32 changes the default of running "post-review" in a Perforce client to uploading the default change - the other changes should not introduce any new behavior.
These changes have been in use for a while.
Simplify nonexistant changelist detection in response to code review. Also include a missing change that makes defaulting to the "default" Perforce change more robust, and prints the review URL with a trailing slash (to avoid a useless redirect). I couldn't find on the contributor guide what to do when I've got a "Ship It!" - should I submit a separate pull request on GitHub with a link to this review, or will you pull? Should I squash my commits?
Revision 2 (+18 -4)
As the reporter of issue 1191, I'd strongly prefer if post-review with no arguments printed a usage summary instead of creating a review request from the default changeset.
Thanks for this! I've pushed a squashed version as 65eec92.