forked from mirrors/jj
0d62a336af
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... |
||
---|---|---|
.. | ||
test_bad_locking.rs | ||
test_commit_builder.rs | ||
test_commit_concurrent.rs | ||
test_diff_summary.rs | ||
test_evolution.rs | ||
test_git.rs | ||
test_index.rs | ||
test_init.rs | ||
test_load_repo.rs | ||
test_merge_trees.rs | ||
test_mut_repo.rs | ||
test_operations.rs | ||
test_revset.rs | ||
test_view.rs | ||
test_working_copy.rs | ||
test_working_copy_concurrent.rs |