GetCommitInfos does not properly handle merge commits. In some cases, it will only traverse one parent of a merge commit. If this happens, it may reach the initial commit without finding a match for some entries. This could result in either an infinite loop, or a 500 (bad revision <hash>^).
I'm hoping to have a fix soon.