tests/test-obsolete-bounds-checking.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 08 Oct 2018 17:24:28 -0700
changeset 40138 b5bf3dd6ec5b
parent 34868 44797aedfb35
child 50725 7e5be4a7cda7
permissions -rw-r--r--
wireprotov2: send content encoded frames from server Now that we have support for negotiating encodings and configuring an encoder, we can start sending content encoded frames from the server. This commit teaches the wireprotov2 server code to send content encoded frames. On the mozilla-unified repository with zstd enabled peers, this change reduces the total amount of data transferred from server to client drastically: befor: 7,190,995,812 bytes after: 1,605,508,691 bytes Differential Revision: https://phab.mercurial-scm.org/D4927

Create a repo, set the username to something more than 255 bytes, then run hg amend on it.

  $ unset HGUSER
  $ cat >> $HGRCPATH << EOF
  > [ui]
  > username = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <very.long.name@example.com>
  > [extensions]
  > amend =
  > [experimental]
  > evolution.createmarkers=True
  > evolution.exchange=True
  > EOF
  $ hg init tmpa
  $ cd tmpa
  $ echo a > a
  $ hg add
  adding a
  $ hg commit -m "Initial commit"
  $ echo a >> a
  $ hg amend 2>&1 | egrep -v '^(\*\*|  )'
  transaction abort!
  rollback completed
  Traceback (most recent call last):
  *ProgrammingError: obsstore metadata value cannot be longer than 255 bytes (value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <very.long.name@example.com>" for key "user" is 285 bytes) (glob)