Add support for forced updates (incl. rebases)
Handle forced updates, including rebases. git-cherry is used to determine if the commits pushed are present upstream (with a different hash) or not. Ones already present are excluded from the commit mail since they haven't changed (i.e., they point to the same blobs the old ones did). Ones not present are either new commits or modified commits. It's non-trivial to tell which is which, and we probably don't care anyway. Added text to 'forced-update' email messages to state that the commits shown are only the new/modified ones and not all that were pushed.
Showing with 50 additions and 12 deletions