A PatchSet is in reverse order, plus has information about which tags are clean, meaning all patches applied prior to them are in the tag itself, so we can stop reading at that point. Just to clarify, the first patch in a PatchSet is the one most recently applied to the repo.
PatchSets have the property that if
(info $ last $ head a) == (info $ last $ head b)
(tail a) and
(tail b) are identical repositories
Does this mean that in a patch set such as
[[a b t1 c d e t2][f g
t3] [h i]], t1, t2 and t3 are tags, and t2 and t3 are clean?
Can we have PatchSet with length at least 3? Florent