jj/cli/tests
Evan Mesterhazy 64e242ab3a Implement jj parallelize
Parallelize revisions by making them siblings

Running `jj parallelize 1::2` will transform the history like this:
```text
3
|             3
2            / \
|    ->     1   2
1            \ /
|             0
0
```

Each of the target revisions is rebased onto the parents of the root(s) of
the target revset (not to be confused with the repo root). The children of
the head(s) of the target revset are rebased onto the target revisions.

The target revset is the union of the REVISIONS arguments.

The target revset being parallelized must satisfy several conditions,
otherwise the command will fail.

1. The heads of the target revset must not have different children.
2. The roots of the target revset must not have different parents.
3. The parents of all target revisions except the roots must also be
   parallelized. This means that the target revisions must be connected.
2024-04-05 12:43:10 -04:00
..
common cli: show timestamp in local timezone and without millis and offset 2024-03-20 07:54:08 -07:00
cli-reference@.md.snap Implement jj parallelize 2024-04-05 12:43:10 -04:00
runner.rs Implement jj parallelize 2024-04-05 12:43:10 -04:00
test_abandon_command.rs tree: flatten TreeMergeError into BackendError 2024-03-30 22:40:05 +09:00
test_alias.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_branch_command.rs cli: unblock "branch list --all-remotes" with name patterns 2024-04-03 08:59:29 +09:00
test_builtin_aliases.rs cli: show timestamp in local timezone and without millis and offset 2024-03-20 07:54:08 -07:00
test_cat_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_checkout.rs cli: add convenient methods to print hint or warning with default headings 2024-03-26 00:28:27 +09:00
test_chmod_command.rs cli: print conflicted paths whenever the working copy is changed 2024-04-04 11:24:09 +08:00
test_commit_command.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_commit_template.rs template: add method mine() to commit type 2024-04-04 22:47:34 +02:00
test_concurrent_operations.rs op_store: add metadata flag for ops representing working-copy snapshot 2024-02-19 22:44:38 -08:00
test_config_command.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_debug_command.rs debug-tree: allow looking up tree by path and id, not just revision 2024-03-14 23:28:59 -07:00
test_describe_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_diff_command.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_diffedit_command.rs cli: print conflicted paths whenever the working copy is changed 2024-04-04 11:24:09 +08:00
test_duplicate_command.rs rebase: do not modify commit IDs if commit is unchanged after rebase 2024-03-29 15:22:50 +08:00
test_edit_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_generate_md_cli_help.rs docs, CLI reference: use include-markdown instead of a symlink 2024-02-12 10:28:09 -08:00
test_git_clone.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_colocated.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_fetch.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_import_export.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_init.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_push.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_git_remotes.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_git_submodule.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_gitignores.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_global_opts.rs cli: add a global --quiet flag, which silences status messages 2024-04-01 13:00:27 -07:00
test_immutable_commits.rs Implement jj parallelize 2024-04-05 12:43:10 -04:00
test_init_command.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_interdiff_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_log_command.rs cli: only use default log revset when neither path nor revset is provided 2024-04-03 07:57:06 +02:00
test_move_command.rs cli: add convenient methods to print hint or warning with default headings 2024-03-26 00:28:27 +09:00
test_new_command.rs cli: don't check duplicates in revisions prefixed with "all:" 2024-04-02 15:17:12 +09:00
test_next_prev_commands.rs next, prev: fix choice from more than two targets 2024-03-25 20:51:54 +09:00
test_obslog_command.rs Make node symbols templatable in the graphs. 2024-03-21 17:41:31 +01:00
test_operations.rs cli: add "Hint: " or "Warning: " heading to almost all messages 2024-03-26 11:23:13 +09:00
test_parallelize_command.rs Implement jj parallelize 2024-04-05 12:43:10 -04:00
test_rebase_command.rs cli: add ui.always-allow-large-revsets option 2024-04-04 18:38:48 -05:00
test_repo_change_report.rs cli: print conflicted paths whenever the working copy is changed 2024-04-04 11:24:09 +08:00
test_resolve_command.rs cli: print conflicted paths whenever the working copy is changed 2024-04-04 11:24:09 +08:00
test_restore_command.rs cli: print conflicted paths whenever the working copy is changed 2024-04-04 11:24:09 +08:00
test_revset_output.rs revset: parse "all:" prefix rule by pest 2024-04-03 08:59:42 +09:00
test_root.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_shell_completion.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_show_command.rs cli: show timestamp in local timezone and without millis and offset 2024-03-20 07:54:08 -07:00
test_sparse_command.rs sparse: extract "set --reset" to subcommand 2024-03-29 11:02:31 +09:00
test_split_command.rs Update jj split tests to show what happens to branches 2024-04-01 21:19:29 -04:00
test_squash_command.rs squash: accept multiple --from arguments 2024-04-04 12:08:42 +09:00
test_status_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_tag_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_templater.rs revset, templater: include short parse error description in summary line 2024-03-28 10:53:06 +09:00
test_tree_level_conflicts.rs cli: show timestamp in local timezone and without millis and offset 2024-03-20 07:54:08 -07:00
test_undo.rs cli: rename --all to --all-remotes for branch list 2024-04-01 10:12:13 +09:00
test_unsquash_command.rs description_utils: teach combine_messages() to handle more than two sources 2024-03-13 05:21:05 -07:00
test_untrack_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_util_command.rs op_store: add metadata flag for ops representing working-copy snapshot 2024-02-19 22:44:38 -08:00
test_working_copy.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_workspaces.rs cli: show timestamp in local timezone and without millis and offset 2024-03-20 07:54:08 -07:00