Yuya Nishihara <yuya@tcha.org> [Thu, 12 Jul 2018 23:07:29 +0900] rev 38705
revset: special case commonancestors(none()) to be empty set
This matches the behavior of ancestor(none()).
From an implementation perspective, ancestor() and commonancestors() are
intersection, and ancestors() is union, so it would make some sense that
commonancestors(none()) returned all revisions. However, ancestor(none())
isn't implemented as such, which breaks ancestor(x) == max(commonancestors(x)).
From a user perspective, ancestors of nothing is nothing whichever type
of operation the ancestor predicate does.
Yuya Nishihara <yuya@tcha.org> [Tue, 10 Jul 2018 23:01:53 +0900] rev 38704
revset: clarify heads() order doesn't matter while computing common ancestors
Follows up 5460926352ee and 52f19a840543.