tests/test-hgweb-bundle.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Mon, 26 Jun 2017 03:38:12 +0900
changeset 33075 7f569ce30216
parent 25472 4d2b9b304ad0
child 35400 4441705b7111
permissions -rw-r--r--
keyword: restore kwtemplater.restrict at the end of wrapped patch.diff Before this patch, kwdiff doesn't restore kwtemplater.restrict after invocation of wrapped patch.diff(). This suppresses keyword expansion at subsequent filelog.read(). Typical usecase of this issue is "hg cat" after "hg diff" with command server. In this case, kwtemplater.restrict=True is kept in command server process even after "hg diff". To ensure kwtemplater.restrict=True while original patch.diff() running, this patch makes kwdiff() yield values returned by it, because it returns generator object. Strictly speaking, if filelog.read() is invoked before completely evaluating the result of previous patch.diff(), keyword expansion is still suppressed, because kwtemplater.restrict isn't restored yet. But this fixing should be reasonable enough, because patch.diff() is consumed immediately, AFAIK.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22223
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     1
#require serve
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     2
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     3
  $ hg init server
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     4
  $ cd server
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
  $ cat >> .hg/hgrc << EOF
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     6
  > [extensions]
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
  > strip=
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     8
  > EOF
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     9
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    10
  $ echo 1 > foo
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    11
  $ hg commit -A -m 'first'
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
  adding foo
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
  $ echo 2 > bar
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    14
  $ hg commit -A -m 'second'
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
  adding bar
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    17
Produce a bundle to use
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    18
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    19
  $ hg strip -r 1
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 22223
diff changeset
    21
  saved backup bundle to $TESTTMP/server/.hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg (glob)
22223
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    22
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    23
Serve from a bundle file
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    24
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 22223
diff changeset
    25
  $ hg serve -R .hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg -d -p $HGPORT --pid-file=hg.pid
22223
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    26
  $ cat hg.pid >> $DAEMON_PIDS
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    27
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    28
Ensure we're serving from the bundle
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    29
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23835
diff changeset
    30
  $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=raw')
22223
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    31
  200 Script output follows
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    32
  
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    33
  
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    34
  -rw-r--r-- 2 bar
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    35
  -rw-r--r-- 2 foo
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    36
  
c39d404f0eb0 hgweb: refresh repository using URL not path (issue4323)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    37