Patch Set 1: No score

To see a bug that is caused by this problem, just show the history of a file that's under version control. Then right-click on a revision and select 'Open'. If you do it again, a second editor is opened even though it should've just reused the existing one.

As to the implementation of the two methods, I actually just asked JDT to generate them for me. The generated method fixes the problem but it seems to me that because RevCommit enforces an identity check in its equals(Object) implementation, perhaps we should be comparing the two values of commit.name()?

The ObjectId probably also needs to be considered. Having one null value and one non-null value does not necessarily indicate they are not equal as it may merely hint at the fact that the former hasn't had getStorage(IProgressMonitor) called on it yet.