jj/lib/src
Austin Seipp 643c41bc4a lib: allow exactly() to take interval ranges as an argument
It turns out that the use case I had for `exactly()` was slightly more
subtle, and I need range support. In particular, usage of `exactly()`
in expressions used by `revsets.log-graph-prioritize` can and will
cause `jj log` to fail if the assertion fails; in my case, a particular
expression I use should be equal to zero-or-one revisions.

This (ab)uses string literal syntax to parse out a range that is like
a subset of Rust's range syntax; in particular unbounded endpoints like
`x..` or `..=y` are not supported. Ideally the grammar would be expanded
to handle this case more smoothly.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-09-24 23:17:57 -05:00
..
config merge: remove Default from MergeOptions 2025-09-14 03:55:09 +00:00
default_index lib: allow exactly() to take interval ranges as an argument 2025-09-24 23:17:57 -05:00
lock cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
protos git, op_store: migrate and import "refs/tags/*" as @git remote tags 2025-09-24 09:09:52 +00:00
absorb.rs cli_util: rename Diff to ContentDiff 2025-09-21 16:16:33 +00:00
annotate.rs cli_util: rename Diff to ContentDiff 2025-09-21 16:16:33 +00:00
backend.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
bisect.rs cli, lib: convert revset expressions to use Arc over Rc 2025-09-05 16:09:44 +00:00
commit.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
commit_builder.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
config.rs config: use schema directive comment 2025-08-29 14:52:30 +00:00
config_resolver.rs config: add platforms conditional configuration 2025-09-11 06:33:20 +00:00
conflicts.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
content_hash.rs content_hash: implement ContentHash for tuples up to 4 items 2025-07-07 08:17:18 +00:00
copies.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
dag_walk.rs cli, lib: move to Rust 2024 language edition 2025-07-28 17:05:41 +00:00
default_submodule_store.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
diff.rs cli_util: rename Diff to ContentDiff 2025-09-21 16:16:33 +00:00
dsl_util.rs cli, lib: move to Rust 2024 language edition 2025-07-28 17:05:41 +00:00
eol.rs local_working_copy: remove Default from TreeStateSettings 2025-09-14 03:55:09 +00:00
evolution.rs cargo: bump MSRV to 1.88 2025-09-19 01:03:21 +00:00
extensions_map.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
file_util.rs cargo: bump MSRV to 1.88 2025-09-19 01:03:21 +00:00
files.rs cli_util: rename Diff to ContentDiff 2025-09-21 16:16:33 +00:00
fileset.pest fileset, revset: settle on optionally-quoted pattern syntax 2025-03-11 08:35:27 +00:00
fileset.rs fileset: simplify glob character detection 2025-08-21 09:29:08 +00:00
fileset_parser.rs cli, lib: move to Rust 2024 language edition 2025-07-28 17:05:41 +00:00
fix.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
fmt_util.rs settings: support human-readable byte sizes for max-new-file-size 2023-08-17 19:29:38 -07:00
fsmonitor.rs local_working_copy: remove Default from TreeStateSettings 2025-09-14 03:55:09 +00:00
git.rs git, op_store: migrate and import "refs/tags/*" as @git remote tags 2025-09-24 09:09:52 +00:00
git_backend.rs git-backend: test and make public change id reading from headers 2025-09-23 03:47:15 +00:00
git_subprocess.rs git_subprocess: make sure we do not try to fetch submodules regardless of .gitconfig 2025-09-22 20:50:50 +00:00
gitignore.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
gpg_signing.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
graph.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
hex_util.rs cleanup: use .as_chunks() instead of chunks_exact() 2025-09-19 09:41:32 +00:00
id_prefix.rs cargo: bump MSRV to 1.88 2025-09-19 01:03:21 +00:00
index.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
lib.rs merged_tree: extract merge_tree() to new module 2025-09-12 16:11:13 +00:00
local_working_copy.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
matchers.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
merge.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
merged_tree.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
object_id.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
op_heads_store.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
op_store.rs op_store: add remote tags storage and basic accessors 2025-09-24 09:09:52 +00:00
op_walk.rs object_id: rename HexPrefix::new() to ::try_from_hex() for consistency 2025-07-02 01:56:40 +00:00
operation.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
ref_name.rs cli, lib: move to Rust 2024 language edition 2025-07-28 17:05:41 +00:00
refs.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
repo.rs op_store: add remote tags storage and basic accessors 2025-09-24 09:09:52 +00:00
repo_path.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
revset.pest template/revset: mention tree-sitter grammar in pest file 2025-07-10 09:54:27 +00:00
revset.rs lib: allow exactly() to take interval ranges as an argument 2025-09-24 23:17:57 -05:00
revset_parser.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
rewrite.rs merge: add a generic Diff<T> type, use in TreeDiffEntry 2025-09-21 16:16:33 +00:00
secret_backend.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
settings.rs git: remove Default from GitSettings 2025-09-14 03:55:09 +00:00
signing.rs cli lib: make use of Self consistent 2025-07-27 00:12:02 +00:00
simple_backend.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
simple_op_heads_store.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
simple_op_store.rs git, op_store: migrate and import "refs/tags/*" as @git remote tags 2025-09-24 09:09:52 +00:00
ssh_signing.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
stacked_table.rs cargo: bump MSRV to 1.88 2025-09-19 01:03:21 +00:00
store.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
str_util.rs templates: add string.match function 2025-09-02 02:19:54 +00:00
submodule_store.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
test_signing_backend.rs hex_util: roll our own decode/encode_hex() functions 2025-07-02 01:56:40 +00:00
time_util.rs cli touch: add flag for changing author date 2025-08-26 19:02:31 +00:00
trailer.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
transaction.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
tree.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
tree_builder.rs cleanup: replace clippy allow() exemptions by expect() 2025-09-13 04:42:02 +00:00
tree_merge.rs merge: remove Default from MergeOptions 2025-09-14 03:55:09 +00:00
union_find.rs cli, lib: move to Rust 2024 language edition 2025-07-28 17:05:41 +00:00
view.rs op_store: add remote tags storage and basic accessors 2025-09-24 09:09:52 +00:00
working_copy.rs cleanup: leverage trait upcasting, delete as_any*() 2025-09-20 01:22:47 +00:00
workspace.rs cargo: bump MSRV to 1.88 2025-09-19 01:03:21 +00:00