unfiled bug that i just noticed today: the 'changes' cache was storing revnos for changes' parents. as with all the previous places we removed revno from the cache, it's no good here, because the cache may be shared among multiple branches in a single repository, each with different ideas of what revno a particular revision is. so stop caching the revnos and generate them at runtime.