There's a little bit of synchronized(object) happening in the GET case that could probably be eliminated.
We definitely need to synchronize in the POST case (actual rebase/squash/amend operations), but in the GET case a bit of dirtiness is harmless. (It's dirty by the time the user ever clicks any of the buttons anyway).
Eliminating all locks from the GET case would further reduce locking contention for the POST case, as well! Bonus!