arrange: separate actions in UI state from actions to apply c3e68e5b parent da78bfbc

When we're going to support squashing and combining descriptions in the `jj arrange` UI, I think we're going to want to do that by asking the user for the combined message(s) when they confirm and then we do all the rewrites at once. So I think we want separate data structures for the UI state indicates which operations and the resulting rewrite plan. This patch implements that. The code for applying the rewrite plan could potentially later be moved to jj-lib and be used by other commands.

authored by Martin von Zweigbergk

1
/target/
2
/rendered-docs
3
.direnv
4
.envrc
5
# Generated by nix build, nix-build
6
result
7
# Generated by the insta crate
8
*.pending-snap
9
*.snap*
10
!cli/tests/cli-reference@.md.snap
11
# Per user insta settings.
12
# See https://insta.rs/docs/settings/#tool-config-file for details.
13
.config/insta.yaml
14
# Per user mise config
15
mise.local.toml
16
17
# mkdocs
18
/.venv
19
/.python-version
20
21
# Editor specific ignores
22
.idea
23
.vscode
24
.zed
25
26
# Generated by setting `JJ_TRACE` environment variable.
27
jj-trace-*.json
28
29
# To make working on buck2 easier (#1997, #4413)
30
/buck-out/
31