jj/cli/tests
Scott Taylor c406b3a929 rebase: skip duplicate divergent commits by default
This serves a similar purpose to Git's patch ID mechanism, however it is
slightly different in that it only compares commits which have the same
change ID as each other (divergent changes), and it does a full
comparison of the commits to see if they would have identical trees if
rebased onto the same parents. Since most changes aren't divergent, I
believe this should have a negligible performance cost in most cases.

I think skipping these commits by default makes sense for `jj rebase`,
since usually this will be a helpful behavior for the user. With this
behavior, a safe first step when encountering divergent changes would be
to rebase one branch on top of the other, since that will abandon any
divergent changes that have identical contents to existing commits,
leaving behind any non-trivial divergent changes for the user to resolve
manually.
2025-05-19 22:23:32 +00:00
..
common tests: remove obsolete helpers 2025-05-07 19:29:20 +00:00
sample-configs cli: unify diff format/tool config variables 2025-05-16 00:33:49 +00:00
cli-reference@.md.snap rebase: skip duplicate divergent commits by default 2025-05-19 22:23:32 +00:00
datatest_runner.rs config-schema: add sample config files to exercise schema tests 2025-04-24 15:48:08 +00:00
runner.rs config-schema: use datatest-stable crate to instantiate tests 2025-04-24 15:48:08 +00:00
test_abandon_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_absorb_command.rs rebase: avoid using "onto destination" when argument can be -A/-B 2025-05-12 01:54:55 +00:00
test_acls.rs tests: port test_acls.rs to TestWorkDir API 2025-03-12 02:18:56 +00:00
test_advance_bookmarks.rs tests: port test_advance_bookmarks.rs to TestWorkDir API 2025-03-12 02:18:56 +00:00
test_alias.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_backout_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_bookmark_command.rs cli: label "working_copy" by commit_summary template, not by code 2025-05-18 01:42:14 +00:00
test_builtin_aliases.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_commit_command.rs commit: show a hint if --message is not provided and the description is empty 2025-05-15 13:02:53 +00:00
test_commit_template.rs cli: add top-level context label to commit templates 2025-05-19 01:41:15 +00:00
test_completion.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_concurrent_operations.rs test: clean up op log output to show short op ids 2025-05-17 12:20:38 +00:00
test_config_command.rs cli: config edit: show file path to edit 2025-05-19 10:47:01 +00:00
test_config_schema.rs tests: factor out utility function is_external_tool_installed 2025-04-24 15:48:08 +00:00
test_copy_detection.rs tests: port test_copy_detection.rs to TestWorkDir API 2025-03-13 16:13:12 +00:00
test_debug_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_debug_init_simple_command.rs lib: rename the LocalBackend to SimpleBackend 2025-03-17 17:17:11 +00:00
test_describe_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_diff_command.rs cli: accept --tool=:<format> argument as builtin diff format 2025-05-17 00:11:00 +00:00
test_diffedit_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_duplicate_command.rs rebase: avoid using "onto destination" when argument can be -A/-B 2025-05-12 01:54:55 +00:00
test_edit_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_evolog_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_file_annotate_command.rs test: migrate remaining jj branch uses to jj bookmark 2025-05-19 13:20:20 +00:00
test_file_chmod_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_file_show_command.rs tests: port test_file_show_command.rs to TestWorkDir API 2025-03-19 01:47:00 +00:00
test_file_track_untrack_commands.rs tests: port test_file_track_untrack_commands.rs to TestWorkDir API 2025-03-19 14:52:52 +00:00
test_fix_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_generate_md_cli_help.rs tests: resolve directory path to run_jj_in() relative to env_root 2025-02-25 15:40:14 +00:00
test_git_clone.rs cli: git clone: add config to not track default remote bookmark 2025-05-15 09:08:07 +00:00
test_git_colocated.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_git_fetch.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_git_import_export.rs cli: git: do not attempt to align bookmark and tag changes in stats 2025-05-18 07:30:46 +00:00
test_git_init.rs cli git init: show jj bookmark track command on new line 2025-05-14 07:14:47 +00:00
test_git_private_commits.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_git_push.rs tests: snapshot a few more colored outputs 2025-05-18 01:42:14 +00:00
test_git_remotes.rs git: work around gix global remote configuration issue 2025-04-13 13:55:09 +00:00
test_git_root.rs cli: git: add git root command 2025-03-25 08:58:43 +00:00
test_gitignores.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_global_opts.rs cli: add top-level context label to commit templates 2025-05-19 01:41:15 +00:00
test_help_command.rs cli: add revert command 2025-03-17 15:03:29 +00:00
test_immutable_commits.rs split: implement -A/-B/-d flags 2025-05-13 17:26:00 +00:00
test_interdiff_command.rs diff: add option to render color-words diffs without materializing conflicts 2025-04-08 09:12:39 +00:00
test_log_command.rs cli: add top-level context label to commit templates 2025-05-19 01:41:15 +00:00
test_new_command.rs cli: improve hint to abandon commits when divergent change appears 2025-05-16 00:21:38 +00:00
test_next_prev_commands.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_operations.rs cli: add top-level context label to commit templates 2025-05-19 01:41:15 +00:00
test_parallelize_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_rebase_command.rs rebase: skip duplicate divergent commits by default 2025-05-19 22:23:32 +00:00
test_repo_change_report.rs rebase: avoid using "onto destination" when argument can be -A/-B 2025-05-12 01:54:55 +00:00
test_resolve_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_restore_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_revert_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_revset_output.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_root.rs lib: rename the LocalBackend to SimpleBackend 2025-03-17 17:17:11 +00:00
test_shell_completion.rs tests: resolve directory path to run_jj_in() relative to env_root 2025-02-25 15:40:14 +00:00
test_show_command.rs cli: add top-level context label to commit templates 2025-05-19 01:41:15 +00:00
test_sign_unsign_commands.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_simplify_parents_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_sparse_command.rs tests: port test_sparse_command.rs to TestWorkDir API 2025-04-03 01:43:02 +00:00
test_split_command.rs split: use "selected/remaining changes" instead of "first/second commits" 2025-05-16 07:55:12 +00:00
test_squash_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_status_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_tag_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_templater.rs templater: add arithmetic operators 2025-05-16 12:45:09 +00:00
test_undo.rs test: use --at-op and templates instead of manually parsing op ids from op log 2025-05-17 12:20:38 +00:00
test_util_command.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_working_copy.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00
test_workspaces.rs git: write change-id header by default 2025-05-08 23:05:38 +00:00