branchcache: add more test for the logic around obsolescence and branch heads
While working on branch-cache-v3, we noticed some ambiguity in the
filtered+obsolete hash. However this was only caught by a rebase test by
chance.
It seems important to explicitly tests these cases.
Ancestors of 5
4 2 0
Ancestors of 6 and 5
4 3 2 1 0
Ancestors of 5 and 4
4 2 0
Ancestors of 7, stop at 6
6
Ancestors of 7, including revs
7 6 5 4 3 2 1 0
Ancestors of 7, 5 and 3, including revs
7 6 5 4 3 2 1 0
Descendants of 5
7 8
Descendants of 5 and 3
6 7 8
Descendants of 5 and 4
5 7 8