Changeset tags method is slow
Created originally on Bitbucket by Arthur Blake
I was glad to see that recently added the tags() method to the Changeset object. However, the way it is implemented, it calls the command server to go out and get the tags for a particular Changeset.
So if I pull, say 500 changesets and then loop through them all printing the tags as I go, it's very slow. I think it would be a lot faster to just pull all the tags for the repo at once and cache them somewhere (perhaps cache on demand in the Repository object itself, only updating on a pull operation) and then compute the tags for the Changeset via a hash lookup on that cached map of tags.
By the way, currently TagsCommand returns a Mapping of tag names to changesets. Would be extremely useful to have a method that instead builds a reverse mapping (of changeset node value to the List of tags.