Comment on JJ Cheat SheetparentComments−notmywalrus1y> if I'm understanding it right, turns r --[edit3]--> q --[edit2]--> p into r --[edit3]--> p.You are right with the outcome but wrong about why. `jj abandon -r q` would turn `r --> q --> p` into `r --> p`Well, it can do two things. Given: `r(f3) --[e3]--> q(f2) --[e2]--> p(f1)``jj abandon -r q` makes `r(f1+e3) --[e3]--> p(f1)`, as if you had rebased `r` onto `p`.`jj abandon -r q --restore-descendants` makes `r(f3) --[e2+e3]--> p(f1)`, as if you had squashed `r` into `q`.−steveklabnik1yAh intriguing, I didn't know about `--restore-descendants`, and I can see how that makes it feel like you're operating on edges, even if you're passing a revision in. Thanks!
Comments
Well, it can do two things. Given: `r(f3) --[e3]--> q(f2) --[e2]--> p(f1)`
`jj abandon -r q` makes `r(f1+e3) --[e3]--> p(f1)`, as if you had rebased `r` onto `p`.
`jj abandon -r q --restore-descendants` makes `r(f3) --[e2+e3]--> p(f1)`, as if you had squashed `r` into `q`.
Ah intriguing, I didn't know about `--restore-descendants`, and I can see how that makes it feel like you're operating on edges, even if you're passing a revision in. Thanks!