tests/test-ssh-batch.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 05 Apr 2024 11:05:54 +0200
changeset 51576 de5bf3fe0233
parent 47920 9c4204b7f3e4
permissions -rw-r--r--
revset: stop serializing node when using "%ln" Turning hundred of thousand of node from node to hex and back can be slow… what about we stop doing it? In many case were we are using node id we should be using revision id. However this is not a good reason to have a stupidly slow implementation of "%ln". This caught my attention again because the phase discovery during push make an extensive use of "%ln" or huge set. In absolute, that phase discovery probably should use "%ld" and need to improves its algorithmic complexity, but improving "%ln" seems simple and long overdue. This greatly speeds up `hg push` on repository with many drafts. Here are some relevant poulpe benchmarks: ### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog # benchmark.name = hg.command.push # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.explicit-rev = all-out-heads # benchmark.variants.issue6528 = disabled # benchmark.variants.protocol = ssh # benchmark.variants.reuse-external-delta-parent = default ## benchmark.variants.revs = any-1-extra-rev before: 44.235070 after: 20.416329 (-53.85%, -23.82) ## benchmark.variants.revs = any-100-extra-rev before: 49.234697 after: 26.519829 (-46.14%, -22.71) ### benchmark.name = hg.command.bundle # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.revs = all # benchmark.variants.type = none-streamv2 ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog before: 10.138396 after: 7.750458 (-23.55%, -2.39) ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog before: 1.263859 after: 0.700229 (-44.60%, -0.56) ## data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog before: 399.484481 after: 346.5089 (-13.26%, -52.98) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog before: 4.540080 after: 3.401700 (-25.07%, -1.14) ## data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog before: 2.975765 after: 1.870798 (-37.13%, -1.10)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46670
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     1
  $ hg init a
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     2
  $ cd a
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     3
  $ touch a; hg commit -qAm_
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     4
  $ hg bookmark $(for i in $($TESTDIR/seq.py 0 20); do echo b$i; done)
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     5
  $ hg clone . ../b -q
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     6
  $ cd ../b
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     7
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     8
Checking that when lookup multiple bookmarks in one go, if one of them
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
     9
fails (thus causing the sshpeer to be stopped), the errors from the
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
    10
further lookups don't result in tracebacks.
fe36ce0fbcdd test: show internal exception with batchable rpcs over ssh
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
diff changeset
    11
47920
9c4204b7f3e4 tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46672
diff changeset
    12
  $ hg pull -r b0 -r nosuchbookmark $(for i in $($TESTDIR/seq.py 1 20); do echo -r b$i; done) ssh://user@dummy/$(pwd)/../a
46672
aa2e38147e8b wireprotov1peer: don't raise internal errors in some cases
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents: 46671
diff changeset
    13
  pulling from ssh://user@dummy/$TESTTMP/b/../a
aa2e38147e8b wireprotov1peer: don't raise internal errors in some cases
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents: 46671
diff changeset
    14
  abort: unknown revision 'nosuchbookmark'
aa2e38147e8b wireprotov1peer: don't raise internal errors in some cases
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents: 46671
diff changeset
    15
  [255]