just playing with tangled
1# Revsets to pass to `jj bench revsets` on the Git
2
3# Single tags
4v1.0.0
5v2.40.0
6# Old history
7::v1.0.0
8..v1.0.0
9# More history
10::v2.40.0
11..v2.40.0
12# Only recent history
13v2.39.0..v2.40.0
14::v2.40.0 ~ ::v2.39.0
15v2.39.0::v2.40.0
16# Mostly recent history
17v2.40.0-..
18~(::v2.40.0)
19# Tags and bookmarks
20tags()
21bookmarks()
22# Local changes
23(tags() | remote_bookmarks())..
24# Intersection of range with a small subset
25tags() & ::v2.40.0
26v2.39.0 & ::v2.40.0
27# Author and committer
28author(peff)
29committer(gitster)
30# Intersection and union of large subsets
31author(peff) & committer(gitster)
32author(peff) | committer(gitster)
33# Intersection of filter with a small subset
34::v1.0.0 & (author(peff) & committer(gitster))
35::v1.0.0 & (author(peff) | committer(gitster))
36# Roots and heads of small subsets
37roots(tags())
38heads(tags())
39# Roots and heads of large subsets
40roots(author(peff))
41heads(author(peff))
42# Roots and heads of range
43roots(::v2.40.0)
44heads(::v2.40.0)
45# Parents and ancestors of old commit
46v1.0.0-
47v1.0.0---
48::v1.0.0---
49# Children and descendants of old commit
50v1.0.0+
51v1.0.0+++
52v1.0.0+++::
53# Parents and ancestors of recent commit
54v2.40.0-
55v2.40.0---
56::v2.40.0---
57# Children and descendants of recent commit
58v2.40.0+
59v2.40.0+++
60v2.40.0+++::
61# Parents and ancestors of small subset
62tags()-
63tags()---
64::tags()---
65# Children and descendants of small subset
66tags()+
67tags()+++
68tags()+++::
69# Filter that doesn't read commit object
70merges()
71~merges()
72# These are unbearably slow, so only filter within small set
73file(root:"Makefile") & v1.0.0..v1.2.0
74empty() & v1.0.0..v1.2.0
75conflict() & v1.0.0..v1.2.0