Mercurial > hg
annotate tests/test-hgwebdirsym.t @ 31987:8823daaf4665
obsolescence: add test for the "branch replacement" logic during push, case D2
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test cases.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:27:42 +0200 |
parents | 4d2b9b304ad0 |
children |
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 |