view tests/test-issue4074.t @ 39813:c30faea8d02d

wireprotov2: advertise set of valid values for requestable fields changesetdata, manifestdata, and filedata all allow the caller to specify what data fields to request. Data fields are extensible and may evolve over time. In order to prevent clients from making requests for fields that are not available, the client needs to know what fields are available. This commit teaches the server to declare a set of "valid values" for wire protocol command arguments. That set of values is exposed in the command's capabilities descriptor. The changesetdata, manifestdata, and filedata commands all declare their set of available "fields." Differential Revision: https://phab.mercurial-scm.org/D4619
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 17 Sep 2018 11:54:00 -0700
parents 5abc47d4ca6b
children 60bc043d7df7
line wrap: on
line source

#require no-pure

A script to generate nasty diff worst-case scenarios:

  $ cat > s.py <<EOF
  > import random
  > for x in range(100000):
  >     print
  >     if random.randint(0, 100) >= 50:
  >         x += 1
  >     print(hex(x))
  > EOF

  $ hg init a
  $ cd a

Check in a big file:

  $ "$PYTHON" ../s.py > a
  $ hg ci -qAm0

Modify it:

  $ "$PYTHON" ../s.py > a

Time a check-in, should never take more than 10 seconds user time:

  $ hg ci --time -m1
  time: real .* secs .user [0-9][.].* sys .* (re)