Mercurial > hg
annotate tests/wireprotohelpers.sh @ 51758:421c9b3f2f4e
commit: set whole manifest entries at once (node with its associated flags)
Add a new function manifest.set that sets whole manifest entries at once,
so the caller doesn't have to do two separate operations:
m[p] = n
m.set_flags(f)
becomes:
m.set(p, n, f)
This obviously saves an extra lookup by path, and it also lets the
underlying manifest implementation to be more efficient as
it doesn't have to deal with partially-specified entries.
It makes the interaction conceptually simpler, as well, since we don't
have to go through an intermediate state of incorrect
partially-written entry.
(the real motivation for this change is an alternative manifest
implementation where we batch pending writes, and dealing with
fully defined entries makes the batching logic muchsimpler while
avoiding slowdown due to alternating writes and reads)
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Thu, 01 Aug 2024 13:38:31 +0100 |
parents | 04688c51f81f |
children |
rev | line source |
---|---|
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40048
diff
changeset
|
1 MEDIATYPE=application/mercurial-exp-framing-0006 |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 sendhttpraw() { |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 } |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 cat > dummycommands.py << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 from mercurial import ( |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 wireprototypes, |
37785
b4d85bc122bd
wireproto: rename wireproto to wireprotov1server (API)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37780
diff
changeset
|
10 wireprotov1server, |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 ) |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
12 |
39061
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
13 @wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
14 def customreadonlyv1(repo, proto): |
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
15 return wireprototypes.bytesresponse(b'customreadonly bytes response') |
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
16 |
39061
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
17 @wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push') |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
18 def customreadwrite(repo, proto): |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
19 return wireprototypes.bytesresponse(b'customreadwrite bytes response') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
20 |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
22 |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
23 cat >> $HGRCPATH << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
24 [extensions] |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
25 drawdag = $TESTDIR/drawdag.py |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
26 EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
27 |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
28 enabledummycommands() { |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
29 cat >> $HGRCPATH << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
30 [extensions] |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
31 dummycommands = $TESTTMP/dummycommands.py |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
32 EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
33 } |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
34 |