Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cli: add "absorb" machinery and command
The destination commits are selected based on annotation, which I think is basically the same as "hg absorb" (except for handling of consecutive hunks.) However, we don't compute a full interleaved delta right now, and the hunks are merged in the same way as "jj squash". This means absorbed hunks might produce conflicts if no context lines exist. Still I think this is more intuitive than selecting destination commits based on patch commutativity. I've left inline comments to the tests where behavior is different from "hg absorb", but these aren't exhaustively checked. Closes #170
- Loading branch information