Mercurial > hg
view contrib/base-revsets.txt @ 47221:5eb5b866e517
requirements: no longer drop `generaldelta` requirement with revlogv2
A repository could use a mix of revlogv1 and revlogv2, making the requirements
still necessary. Overall we should move away from the "requirements" file being
used a way to configure the repository and stick to it "what do you need to
access this repository". However this is a wider work for another time.
In addition the logic we just dropped was confusing the `hg debugformat`
command, breaking the upgrade code and inconsistent (eg: `sparse-revlog` is also
implied by `revlogv2`).
Finally, multiple other config option would imply the use of the `revlogv2`
requirements, without drop the `generaldelta` one, leading to more
inconsistency.
Differential Revision: https://phab.mercurial-scm.org/D10612
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 03 May 2021 12:28:58 +0200 |
parents | d4ba4d51f85f |
children | 55e7784eb3bc |
line wrap: on
line source
# Base Revsets to be used with revsetbenchmarks.py script # # The goal of this file is to gather a limited amount of revsets that allow a # good coverage of the internal revsets mechanisms. Revsets included should not # be selected for their individual implementation, but for what they reveal of # the internal implementation of smartsets classes (and their interactions). # # Use and update this file when you change internal implementation of these # smartsets classes. Please include a comment explaining what each of your # addition is testing. Also check if your changes to the smartset class makes # some of the tests inadequate and replace them with a new one testing the same # behavior. # # If you want to benchmark revsets predicate itself, check 'all-revsets.txt'. # # The current content of this file is currently likely not reaching this goal # entirely, feel free, to audit its content and comment on each revset to # highlight what internal mechanisms they test. all() draft() ::tip draft() and ::tip ::tip and draft() 0::tip roots(0::tip) author(lmoscovicz) author(olivia) author(lmoscovicz) or author(olivia) author(olivia) or author(lmoscovicz) tip:0 0:: # those two `roots(...)` inputs are close to what phase movement use. roots((tip~100::) - (tip~100::tip)) roots((0::) - (0::tip)) 42:68 and roots(42:tip) ::p1(p1(tip)):: public() :10000 and public() draft() :10000 and draft() roots((0:tip)::) (not public() - obsolete()) (_intlist('20000\x0020001')) and merge() parents(20000) (20000::) - (20000) # The one below is used by rebase (children(ancestor(tip~5, tip)) and ::(tip~5)):: heads(commonancestors(last(head(), 2))) heads(-10000:-1) roots(-10000:-1) only(max(head()), min(head()))