Patch Set 1: (2 inline comments)

It feels to me like the code is susceptible to NPEs. From looking at the class, getBaseSha1() also looks like it's susceptible to NPEs so I'd expect NPEs to also be thrown in getKind().

Is it actually realistic for 'baseCommit' to be 'null' or should it "never" be 'null'?