Add cherry_pick() and revert()

WIP...