ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/tests
Martin von Zweigbergk 0d62a336af revsets: initial support for Mercurial-style revsets
This patch adds initial support for a DSL for specifying revisions
inspired by Mercurial's "revset" language. The initial support
includes prefix operators ":" (parents) and "*:" (ancestors) with
naive parsing of the revsets. Mercurial uses postfix operator "^" for
parent 1 just like Git does. It uses prefix operator "::" for
ancestors and the same operator as postfix operator for descendants. I
did it differently because I like the idea of using the same operator
as prefix/postfix depending on desired direction, so I wanted to apply
that to parents/children as well (and for
predecessors/successors). The "*" in the "*:" operator is copied from
regular expression syntax. Let's see how it works out. This is an
experimental VCS, after all.

I've updated the CLI to use the new revset support.

The implementation feels a little messy, but you have to start
somewhere...
2021-04-18 21:25:51 -07:00
..
test_bad_locking.rs
test_commit_builder.rs
test_commit_concurrent.rs
test_diff_summary.rs
test_evolution.rs evolution: walk orphans using index 2021-04-14 08:25:14 -07:00
test_git.rs
test_index.rs index: make IndexRef::entry_by_id() etc return entry with repo's lifetime 2021-04-15 07:00:04 -07:00
test_init.rs
test_load_repo.rs
test_merge_trees.rs
test_mut_repo.rs
test_operations.rs
test_revset.rs revsets: initial support for Mercurial-style revsets 2021-04-18 21:25:51 -07:00
test_view.rs
test_working_copy.rs repo: make MutableRepo have an Arc<ReadonlyRepo> instead of a reference 2021-04-11 13:42:31 -07:00
test_working_copy_concurrent.rs