The "A-B+A=A" AKA "same-change rule" is also relevant, but I didn't tackle it here.
jj checkout
LocalBackend
SimpleBackend