use rev-list rather than log
Combine candidates with a single sort pass
make sure type tag works again
Tidy formatting of revision range
extract wanted data from commit in one go
Merge remote-tracking branch 'origin/refactor'