mirror of
https://github.com/martinvonz/jj.git
synced 2024-12-28 15:34:22 +00:00
50363419fb
Suppose we have an alias 'immutable()' = '::immutable_heads()', user can express (visible) mutable set as '~immutable()'. 'immutable_heads()..' can terminate early, but a generic difference 'all() & ~immutable()' can't.
75 lines
1.5 KiB
Text
75 lines
1.5 KiB
Text
# Revsets to pass to `jj bench revsets` on the Git
|
|
|
|
# Single tags
|
|
v1.0.0
|
|
v2.40.0
|
|
# Old history
|
|
::v1.0.0
|
|
..v1.0.0
|
|
# More history
|
|
::v2.40.0
|
|
..v2.40.0
|
|
# Only recent history
|
|
v2.39.0..v2.40.0
|
|
::v2.40.0 ~ ::v2.39.0
|
|
v2.39.0::v2.40.0
|
|
# Mostly recent history
|
|
v2.40.0-..
|
|
~(::v2.40.0)
|
|
# Tags and branches
|
|
tags()
|
|
branches()
|
|
# Local changes
|
|
(tags() | remote_branches())..
|
|
# Intersection of range with a small subset
|
|
tags() & ::v2.40.0
|
|
v2.39.0 & ::v2.40.0
|
|
# Author and committer
|
|
author(peff)
|
|
committer(gitster)
|
|
# Intersection and union of large subsets
|
|
author(peff) & committer(gitster)
|
|
author(peff) | committer(gitster)
|
|
# Intersection of filter with a small subset
|
|
::v1.0.0 & (author(peff) & committer(gitster))
|
|
::v1.0.0 & (author(peff) | committer(gitster))
|
|
# Roots and heads of small subsets
|
|
roots(tags())
|
|
heads(tags())
|
|
# Roots and heads of large subsets
|
|
roots(author(peff))
|
|
heads(author(peff))
|
|
# Roots and heads of range
|
|
roots(::v2.40.0)
|
|
heads(::v2.40.0)
|
|
# Parents and ancestors of old commit
|
|
v1.0.0-
|
|
v1.0.0---
|
|
::v1.0.0---
|
|
# Children and descendants of old commit
|
|
v1.0.0+
|
|
v1.0.0+++
|
|
v1.0.0+++::
|
|
# Parents and ancestors of recent commit
|
|
v2.40.0-
|
|
v2.40.0---
|
|
::v2.40.0---
|
|
# Children and descendants of recent commit
|
|
v2.40.0+
|
|
v2.40.0+++
|
|
v2.40.0+++::
|
|
# Parents and ancestors of small subset
|
|
tags()-
|
|
tags()---
|
|
::tags()---
|
|
# Children and descendants of small subset
|
|
tags()+
|
|
tags()+++
|
|
tags()+++::
|
|
# Filter that doesn't read commit object
|
|
merges()
|
|
~merges()
|
|
# These are unbearably slow, so only filter within small set
|
|
file(Makefile) & v1.0.0..v1.2.0
|
|
empty() & v1.0.0..v1.2.0
|
|
conflict() & v1.0.0..v1.2.0
|