rebase_descendants()
Commit::predecessors()
graph
write_tree()
CommitRewriter::record_abandoned_commit()