Mercurial > hg
annotate tests/test-extra-filelog-entry.t @ 40176:41263df08109
wireprotov2: change how revisions are specified to changesetdata
Right now, we have a handful of arguments for specifying the revisions
whose data should be returned. Defining how all these arguments
interact when various combinations are present is difficult.
This commit establishes a new, generic mechanism for specifying
revisions. Instead of a hodgepodge of arguments defining things, we
have a list of dicts that specify revision selectors. The final set
of revisions is a union of all these selectors.
We implement support for specifying revisions based on:
* An explicit list of changeset revisions
* An explicit list of changeset revisions plus ancestry depth
* A DAG range between changeset roots and heads
If you squint hard enough, this problem has already been solved by
revsets. But I'm reluctant to expose revsets to the wire protocol
because that would require servers to implement a revset parser.
Plus there are security and performance implications: the set
of revision selectors needs to be narrowly and specifically tailored
for what is appropriate to be executing on a server. Perhaps there
would be a way for us to express the "parse tree" of a revset
query, for example. I'm not sure. We can explore this space another
time. For now, the new mechanism should bring sufficient flexibility
while remaining relatively simple.
The selector "types" are prefixed with "changeset" because I plan
to add manifest and file-flavored selectors as well. This will enable
us to e.g. select file revisions based on a range of changeset
revisions.
Differential Revision: https://phab.mercurial-scm.org/D4979
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 08 Oct 2018 18:17:12 -0700 |
parents | d4e62df1c73d |
children | ccd76e292be5 |
rev | line source |
---|---|
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12328
diff
changeset
|
1 Issue351: mq: qrefresh can create extra revlog entry |
4531
b51a8138292a
Avoid extra filelogs entries.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
2 |
12305
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
3 $ echo "[extensions]" >> $HGRCPATH |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
4 $ echo "mq=" >> $HGRCPATH |
4531
b51a8138292a
Avoid extra filelogs entries.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
5 |
12305
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
6 $ hg init |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
7 $ hg qinit |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
8 |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
9 $ echo b > b |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
10 $ hg ci -A -m foo |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
11 adding b |
4531
b51a8138292a
Avoid extra filelogs entries.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 |
12305
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
13 $ echo cc > b |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
14 $ hg qnew -f foo.diff |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
15 $ echo b > b |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
16 $ hg qrefresh |
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
17 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
12399
diff
changeset
|
18 $ hg debugindex b |
37283
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
19 rev linkrev nodeid p1 p2 |
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
20 0 0 1e88685f5dde 000000000000 000000000000 |
12305
fd78997d1e6b
tests: unify test-extra-filelog-entry
Adrian Buehlmann <adrian@cadifra.com>
parents:
4531
diff
changeset
|
21 |