annotate tests/test-hgwebdirsym.t @ 27246:b288fb2724bf

wireproto: config options to disable bundle1 bundle2 is the new and preferred wire protocol format. For various reasons, server operators may wish to force clients to use it. One reason is performance. If a repository is stored in generaldelta, the server must recompute deltas in order to produce the bundle1 changegroup. This can be extremely expensive. For mozilla-central, bundle generation typically takes a few minutes. However, generating a non-gd bundle from a generaldelta encoded mozilla-central requires over 30 minutes of CPU! If a large repository like mozilla-central were encoded in generaldelta and non-gd clients connected, they could easily flood a server by cloning. This patch gives server operators config knobs to control whether bundle1 is allowed for push and pull operations. The default is to support legacy bundle1 clients, making this patch backwards compatible.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 04 Dec 2015 15:12:11 -0800
parents 4d2b9b304ad0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 17017
diff changeset
1 #require serve symlink
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
2
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 17017
diff changeset
3 Tests whether or not hgwebdir properly handles various symlink topologies.
17015
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
4
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
5 hide outer repo
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
6 $ hg init
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
7
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
8 $ hg init a
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
9 $ echo a > a/a
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
10 $ hg --cwd a ci -Ama -d'1 0'
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
11 adding a
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
12 $ mkdir webdir
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
13 $ cd webdir
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
14 $ hg init b
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
15 $ echo b > b/b
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
16 $ hg --cwd b ci -Amb -d'2 0'
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
17 adding b
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
18 $ hg init c
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
19 $ echo c > c/c
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
20 $ hg --cwd c ci -Amc -d'3 0'
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
21 adding c
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
22 $ ln -s ../a al
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
23 $ ln -s ../webdir circle
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
24 $ root=`pwd`
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
25 $ cd ..
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
26 $ cat > collections.conf <<EOF
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
27 > [collections]
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
28 > $root=$root
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
29 > EOF
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
30 $ hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
31 > -A access-collections.log -E error-collections.log
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
32 $ cat hg.pid >> $DAEMON_PIDS
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
33
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
34 should succeed
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
35
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
36 $ get-with-headers.py localhost:$HGPORT '?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
37 200 Script output follows
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
38
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
39
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
40 /al/
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
41 /b/
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
42 /c/
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
43
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
44 $ get-with-headers.py localhost:$HGPORT 'al/file/tip/a?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
45 200 Script output follows
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
46
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
47 a
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
48 $ get-with-headers.py localhost:$HGPORT 'b/file/tip/b?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
49 200 Script output follows
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
50
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
51 b
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
52 $ get-with-headers.py localhost:$HGPORT 'c/file/tip/c?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
53 200 Script output follows
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
54
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
55 c
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
56
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
57 should fail
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
58
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
59 $ get-with-headers.py localhost:$HGPORT 'circle/al/file/tip/a?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
60 404 Not Found
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
61
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
62
13066
86888ae9ce90 hgwebdir: fix incorrect index generation for invalid paths (issue2023)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 12444
diff changeset
63 error: repository circle/al/file/tip/a not found
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
64 [1]
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
65 $ get-with-headers.py localhost:$HGPORT 'circle/b/file/tip/a?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
66 404 Not Found
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
67
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
68
13066
86888ae9ce90 hgwebdir: fix incorrect index generation for invalid paths (issue2023)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 12444
diff changeset
69 error: repository circle/b/file/tip/a not found
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
70 [1]
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
71 $ get-with-headers.py localhost:$HGPORT 'circle/c/file/tip/a?style=raw'
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
72 404 Not Found
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
73
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
74
13066
86888ae9ce90 hgwebdir: fix incorrect index generation for invalid paths (issue2023)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 12444
diff changeset
75 error: repository circle/c/file/tip/a not found
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
76 [1]
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
77
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
78 collections errors
6341
63bdfcc3eaaf test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
79
12444
a4c19a900794 tests: unify test-hgwebdirsym
Matt Mackall <mpm@selenic.com>
parents: 6341
diff changeset
80 $ cat error-collections.log