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)
then (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?