mirror of
https://github.com/jj-vcs/jj.git
synced 2025-12-23 06:01:01 +00:00
Because a unary negation node '~y' is more primitive than the corresponding difference node 'x~y', '~y' is easier to deal with while rewriting the tree. That's the main reason to add RevsetExpression::NotIn node. As we have a NotIn node, it makes sense to add an operator for that. This patch reuses '~' token, which I feel intuitive since the other set operators looks like bitwise ops. Another option is '!'. The unary '~' operator has the highest precedence among the set operators, but they are lower than the ranges. This might be counter intuitive, but useful because a prefix range ':x' can be negated without parens. Maybe we can remove the redundant infix operator 'x ~ y', but it isn't decided yet. |
||
|---|---|---|
| .. | ||
| technical | ||
| branches.md | ||
| code-of-conduct.md | ||
| config.md | ||
| config.toml | ||
| conflicts.md | ||
| contributing.md | ||
| git-comparison.md | ||
| git-compatibility.md | ||
| operation-log.md | ||
| related-work.md | ||
| revsets.md | ||
| tutorial.md | ||
| working-copy.md | ||