tests/test-hgweb-bundle.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 05 May 2018 18:41:51 -0700
changeset 37889 670eb4fa1b86
parent 37422 9fa4a1fdba15
permissions -rw-r--r--
demandimport: make module ignores a set (API) The list of modules to ignore is used for membership testing. Yet it is defined as a list. Sets are more efficient for membership testing. So this commit converts the module list to a set. Since we took an API hit, I renamed the variable to further clarify the change. This appears to reduce the CPU time for running 300 invocations of `hg log -r. -T '{rev}'` on my i7-6700K: before: 18.64s after: 18.44s Differential Revision: https://phab.mercurial-scm.org/D3440

#require serve repobundlerepo

  $ hg init server
  $ cd server
  $ cat >> .hg/hgrc << EOF
  > [extensions]
  > strip=
  > EOF

  $ echo 1 > foo
  $ hg commit -A -m 'first'
  adding foo
  $ echo 2 > bar
  $ hg commit -A -m 'second'
  adding bar

Produce a bundle to use

  $ hg strip -r 1
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  saved backup bundle to $TESTTMP/server/.hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg

Serve from a bundle file

  $ hg serve -R .hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg -d -p $HGPORT --pid-file=hg.pid
  $ cat hg.pid >> $DAEMON_PIDS

Ensure we're serving from the bundle

  $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=raw')
  200 Script output follows
  
  
  -rw-r--r-- 2 bar
  -rw-r--r-- 2 foo