##// END OF EJS Templates
hgweb: support constructing URLs from an alternate base URL...
hgweb: support constructing URLs from an alternate base URL The web.baseurl config option allows server operators to define a custom URL for hosted content. The way it works today is that hgwebdir parses this config option into URL components then updates the appropriate WSGI environment variables so the request "lies" about its details. For example, SERVER_NAME is updated to reflect the alternate base URL's hostname. The WSGI environment should not be modified because WSGI applications may want to know the original request details (for debugging, etc). This commit teaches our request parser about the existence of an alternate base URL. If defined, the advertised URL and other self-reflected paths will take the alternate base URL into account. The hgweb WSGI application didn't use web.baseurl. But hgwebdir did. We update hgwebdir to alter the environment parsing accordingly. The old code around environment manipulation has been removed. With this change, parserequestfromenv() has grown to a bit unwieldy. Now that practically everyone is using it, it is obvious that there is some unused features that can be trimmed. So look for this in follow-up commits. Differential Revision: https://phab.mercurial-scm.org/D2822

File last commit:

r34867:1644623a default
r36916:219b2335 default
Show More
test-obsolete-tag-cache.t
119 lines | 4.6 KiB | text/troff | Tads3Lexer
/ tests / test-obsolete-tag-cache.t
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 $ cat >> $HGRCPATH << EOF
> [extensions]
Gregory Szorc
tags: change format of tags cache files...
r24760 > blackbox=
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 > rebase=
Gregory Szorc
tags: change format of tags cache files...
r24760 > mock=$TESTDIR/mockblackbox.py
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 >
> [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 > EOF
Create a repo with some tags
$ hg init repo
$ cd repo
$ echo initial > foo
$ hg -q commit -A -m initial
$ hg tag -m 'test tag' test1
$ echo first > first
$ hg -q commit -A -m first
$ hg tag -m 'test2 tag' test2
$ hg -q up -r 0
$ echo newhead > newhead
$ hg commit -A -m newhead
adding newhead
created new head
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tag -m 'test head 2 tag' head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
$ hg log -G -T '{rev}:{node|short} {tags} {desc}\n'
Gregory Szorc
tags: change format of tags cache files...
r24760 @ 5:2942a772f72a tip test head 2 tag
|
o 4:042eb6bfcc49 head2 newhead
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 |
| o 3:c3cb30f2d2cd test2 tag
| |
| o 2:d75775ffbc6b test2 first
| |
| o 1:5f97d42da03f test tag
|/
o 0:55482a6fb4b1 test1 initial
Gregory Szorc
tags: change format of tags cache files...
r24760 Trigger tags cache population by doing something that accesses tags info
$ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test2 2:d75775ffbc6b
test1 0:55482a6fb4b1
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
d75775ffbc6bca1794d300f5571272879bd280da test2
Gregory Szorc
tags: change format of tags cache files...
r24760 Hiding a non-tip changeset should change filtered hash and cause tags recompute
$ hg debugobsolete -d '0 0' c3cb30f2d2cd0aae008cc91a07876e3c5131fd22 -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test1 0:55482a6fb4b1
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6 f34fbc9a9769ba9eff5aff3d008a6b49f85c08b1
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
Gregory Szorc
tags: change format of tags cache files...
r24760
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 2 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
Gregory Szorc
tags: change format of tags cache files...
r24760
Hiding another changeset should cause the filtered hash to change
$ hg debugobsolete -d '0 0' d75775ffbc6bca1794d300f5571272879bd280da -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg debugobsolete -d '0 0' 5f97d42da03fd56f3b228b03dfe48af5c0adf75b -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6 2fce1eec33263d08a4d04293960fc73a555230e4
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 1/1 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 1 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762
Resolving tags on an unfiltered repo writes a separate tags cache
$ hg --hidden tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test2 2:d75775ffbc6b
test1 0:55482a6fb4b1
$ cat .hg/cache/tags2
5 2942a772f72a444bef4bef13874d515f50fa27b6
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
d75775ffbc6bca1794d300f5571272879bd280da test2
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2 with 3 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5