jj/cli/tests
Yuya Nishihara 3c7aa75b9b index: switch to persistent change id index
The shortest change id prefix will become a few digits longer, but I think
that's acceptable. Entries included in the "revsets.short-prefixes" set are
unaffected.

The reachable set is calculated eagerly, but this is still faster as we no
longer need to sort the reachable entries by change id. The lazy version will
save another ~100ms in mid-size repos.

"jj log" without working copy snapshot:
```
% hyperfine --sort command --warmup 3 --runs 20 -L bin jj-0,jj-1,jj-2 \
  -s "target/release-with-debug/{bin} -R ~/mirrors/linux debug reindex" \
  "target/release-with-debug/{bin} -R ~/mirrors/linux \
   --ignore-working-copy log -r.. -l100 --config-toml='revsets.short-prefixes=\"\"'"
Benchmark 1: target/release-with-debug/jj-0 -R ~/mirrors/linux --ignore-working-copy log -r.. -l100 --config-toml='revsets.short-prefixes=""'
  Time (mean ± σ):     353.6 ms ±  11.9 ms    [User: 266.7 ms, System: 87.0 ms]
  Range (min … max):   329.0 ms … 365.6 ms    20 runs

Benchmark 2: target/release-with-debug/jj-1 -R ~/mirrors/linux --ignore-working-copy log -r.. -l100 --config-toml='revsets.short-prefixes=""'
  Time (mean ± σ):     271.3 ms ±   9.9 ms    [User: 183.8 ms, System: 87.7 ms]
  Range (min … max):   250.5 ms … 282.7 ms    20 runs

Relative speed comparison
        1.99 ±  0.16  target/release-with-debug/jj-0 -R ~/mirrors/linux --ignore-working-copy log -r.. -l100 --config-toml='revsets.short-prefixes=""'
        1.53 ±  0.12  target/release-with-debug/jj-1 -R ~/mirrors/linux --ignore-working-copy log -r.. -l100 --config-toml='revsets.short-prefixes=""'
```

"jj status" with working copy snapshot (watchman enabled):
```
% hyperfine --sort command --warmup 3 --runs 20 -L bin jj-0,jj-1,jj-2 \
  -s "target/release-with-debug/{bin} -R ~/mirrors/linux debug reindex" \
  "target/release-with-debug/{bin} -R ~/mirrors/linux \
   status --config-toml='revsets.short-prefixes=\"\"'"
Benchmark 1: target/release-with-debug/jj-0 -R ~/mirrors/linux status --config-toml='revsets.short-prefixes=""'
  Time (mean ± σ):     396.6 ms ±  10.1 ms    [User: 300.7 ms, System: 94.0 ms]
  Range (min … max):   373.6 ms … 408.0 ms    20 runs

Benchmark 2: target/release-with-debug/jj-1 -R ~/mirrors/linux status --config-toml='revsets.short-prefixes=""'
  Time (mean ± σ):     318.6 ms ±  12.6 ms    [User: 219.1 ms, System: 94.1 ms]
  Range (min … max):   294.2 ms … 333.0 ms    20 runs

Relative speed comparison
        1.85 ±  0.14  target/release-with-debug/jj-0 -R ~/mirrors/linux status --config-toml='revsets.short-prefixes=""'
        1.48 ±  0.12  target/release-with-debug/jj-1 -R ~/mirrors/linux status --config-toml='revsets.short-prefixes=""'
```
2024-02-18 09:44:57 +09:00
..
common compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
cli-reference@.md.snap completion: Update docs for new style with positional argument 2024-02-17 19:26:30 +01:00
runner.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_abandon_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_alias.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_branch_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_builtin_aliases.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_cat_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_checkout.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_chmod_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_commit_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_commit_template.rs templater: add a local() method on Timestamps (#2900) 2024-02-12 10:22:24 -08:00
test_concurrent_operations.rs Fix the ContentHash implementations for std::Option, MergedTreeId, and RemoteRefState 2024-02-16 09:27:32 -05:00
test_config_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_debug_command.rs Fix the ContentHash implementations for std::Option, MergedTreeId, and RemoteRefState 2024-02-16 09:27:32 -05:00
test_describe_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_diff_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_diffedit_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_duplicate_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -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 rust: bump MSRV to 1.76.0 2024-02-09 15:48:01 -06:00
test_git_colocated.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_git_fetch.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_git_import_export.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_git_init.rs cli: rename --colocated flag of "jj git init" to --colocate (verb) 2024-02-07 09:12:24 -08:00
test_git_push.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08: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 compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_global_opts.rs cli: suggest "jj git init" if workspace looks like a plain git repo 2024-02-08 00:34:55 +09:00
test_immutable_commits.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_init_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_interdiff_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_log_command.rs index: switch to persistent change id index 2024-02-18 09:44:57 +09:00
test_move_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_new_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_next_prev_commands.rs next/prev: make --edit implied when already on non-head commit 2024-02-12 10:42:26 -08:00
test_obslog_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_operations.rs Fix the ContentHash implementations for std::Option, MergedTreeId, and RemoteRefState 2024-02-16 09:27:32 -05:00
test_rebase_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_repo_change_report.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_resolve_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_restore_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_revset_output.rs revset: disable parsing rules of legacy dag range operator 2024-02-14 10:04:56 +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: make jj show accept a template to render its output 2024-02-10 21:54:52 +05:00
test_sparse_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_split_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_squash_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08: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 templater: retain "++" in parsed tree to provide better error indication 2024-02-09 07:42:54 +09:00
test_tree_level_conflicts.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_undo.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_unsquash_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_untrack_command.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_util_command.rs Fix the ContentHash implementations for std::Option, MergedTreeId, and RemoteRefState 2024-02-16 09:27:32 -05:00
test_working_copy.rs compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
test_workspaces.rs cli: make new workspace inherit sparse pattern from old workspace 2024-02-17 10:17:38 -08:00