Sorry, I misinterpreted what you were trying to do there. I thought you were just trying to filter out peeled tags. Supporting excludes in this way - similar to git rev-list - seems reasonable.

This change in general seems okay, but please submit it separately and with tests.