Skip to content

topic: invalidate the topic cache when branchcache is invalidated

Matt Harbison requested to merge topic/stable/invalidate-topic-cache into branch/stable

The branchmap is cleared in the superclass function, but I didn't see any sign that this is ever cleared.

This fixes an issue in TortoiseHg where stale topic labels appear in certain cases, such as if a commit has a topic and is stripped, and an unrelated commit is pulled in from a remote repo. Additionally, it fixes an issue with the topic display in TortoiseHg and cmdserver when using hg rollback. In the new test, the result of the command that applies topic2 without this fix was:

6 d (topic2)
5 c (topic2)
4 b (topic1)
0 a ()

The tie in was that rev 4 used to be topic1 before the rollback. Also note that without the fix, the final log command printed the following, even though it showed no signs of topic1, and nothing should have changed:

active topic 'topic1' grew its first changeset
(see 'hg help topics' for more information)

Merge request reports