add Revision.equals()

What about branch hashCodes? Branch maybe added and then two Revision objects for the same commit maybe different.