We're working on adding a toggle to hide tagged comments in PolyGerrit (similar to what exists in the GWT UI). We're also taking it a bit farther and changing Gerrit to add its own tags to all ChangeMessages except for untagged human reviews:
In the process, we've discovered that NoteDB treats tags on approvals differently than ReviewDB. Consider a sequence of approvals made by one user on one patchset:
1. Verified-1 with [tag1]
2. Verified+1 with [tag2]
Under certain conditions, NoteDB will report two approvals for the same user on the same patchset, because their tags differ. ReviewDB, on the other hand, has no capability to do this; from its perspective, the Verified+1 replaces the previous approval, regardless of tag.
From what I can see from the review of the change that introduced tags:
The intention of tags seem to be simply to support comment filtering. The NoteDB implementation of tags deliberately adds the tag as a component of the (user, label, patchset) key for approvals, but it seems like that was done as an implementation detail of ChangeNotes parsing rather than an intentional addition to the complexity of approvals.
I'm proposing we modify NoteDB to behave in the same way as ReviewDB. Does anyone object to this? Is anyone expecting to use tagged approvals in this particular manner that NoteDB supports?