##// 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:

r28900:b65966f5 default
r36916:219b2335 default
Show More
test-convert-hg-startrev.t
245 lines | 5.1 KiB | text/troff | Tads3Lexer
/ tests / test-convert-hg-startrev.t
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Martin Geisler
tests: don't overwrite HGRCPATH...
r13519 $ cat >> $HGRCPATH <<EOF
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 > [extensions]
> convert =
Dan Villiom Podlaski Christiansen
test-convert-hg-startrev: enable convert.hg.saverev.
r12350 > [convert]
> hg.saverev = yes
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 > EOF
$ glog()
> {
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 > hg -R "$1" log -G --template '{rev} "{desc}" files: {files}\n'
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 > }
$ hg init source
$ cd source
$ echo a > a
$ echo b > b
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 $ echo f > f
$ hg ci -d '0 0' -qAm '0: add a b f'
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 $ echo c > c
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 $ hg move f d
$ hg ci -d '1 0' -qAm '1: add c, move f to d'
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 $ hg copy a e
$ echo b >> b
$ hg ci -d '2 0' -qAm '2: copy e from a, change b'
$ hg up -C 0
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 $ echo a >> a
$ hg ci -d '3 0' -qAm '3: change a'
$ hg merge
merging a and e to e
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 3 files updated, 1 files merged, 1 files removed, 0 files unresolved
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 (branch merge, don't forget to commit)
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 $ hg ci -d '4 0' -qAm '4: merge 2 and 3'
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 $ echo a >> a
$ hg ci -d '5 0' -qAm '5: change a'
$ cd ..
Convert from null revision
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 $ hg convert --config convert.hg.startrev=null source full
initializing destination full repository
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 scanning source...
sorting...
converting...
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 5 0: add a b f
4 1: add c, move f to d
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 3 2: copy e from a, change b
2 3: change a
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 1 4: merge 2 and 3
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 0 5: change a
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 $ glog full
o 5 "5: change a" files: a
|
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 4 "4: merge 2 and 3" files: e f
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 |\
| o 3 "3: change a" files: a
| |
o | 2 "2: copy e from a, change b" files: b e
| |
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o | 1 "1: add c, move f to d" files: c d f
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950 |/
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 0 "0: add a b f" files: a b f
Nicolas Dumazet
revlog: fix descendants() if nullrev is in revs...
r12950
$ rm -Rf full
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Convert from zero revision
$ hg convert --config convert.hg.startrev=0 source full
initializing destination full repository
scanning source...
sorting...
converting...
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 5 0: add a b f
4 1: add c, move f to d
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 3 2: copy e from a, change b
2 3: change a
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 1 4: merge 2 and 3
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 0 5: change a
$ glog full
o 5 "5: change a" files: a
|
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 4 "4: merge 2 and 3" files: e f
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 |\
| o 3 "3: change a" files: a
| |
o | 2 "2: copy e from a, change b" files: b e
| |
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o | 1 "1: add c, move f to d" files: c d f
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 |/
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 0 "0: add a b f" files: a b f
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Convert from merge parent
$ hg convert --config convert.hg.startrev=1 source conv1
initializing destination conv1 repository
scanning source...
sorting...
converting...
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 3 1: add c, move f to d
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 2 2: copy e from a, change b
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 1 4: merge 2 and 3
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 0 5: change a
$ glog conv1
o 3 "5: change a" files: a
|
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 2 "4: merge 2 and 3" files: a e
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 |
o 1 "2: copy e from a, change b" files: b e
|
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 0 "1: add c, move f to d" files: a b c d
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
$ cd conv1
Patrick Mezard
log: fix --follow FILE ancestry calculation...
r16165 $ hg up -q
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Check copy preservation
Mads Kiilerich
convert: fix bad conversion of copies when hg.startrev is specified...
r19457 $ hg st -C --change 2 e
M e
$ hg st -C --change 1 e
A e
a
$ hg st -C --change 0 a
A a
(It seems like a bug in log that the following doesn't show rev 1.)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 $ hg log --follow --copies e
Mads Kiilerich
convert: fix bad conversion of copies when hg.startrev is specified...
r19457 changeset: 2:82bbac3d2cf4
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 user: test
date: Thu Jan 01 00:00:04 1970 +0000
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 summary: 4: merge 2 and 3
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Mads Kiilerich
convert: fix bad conversion of copies when hg.startrev is specified...
r19457 changeset: 0:23c3be426dce
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 user: test
Mads Kiilerich
convert: fix bad conversion of copies when hg.startrev is specified...
r19457 date: Thu Jan 01 00:00:01 1970 +0000
summary: 1: add c, move f to d
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
Check copy removal on missing parent
$ hg log --follow --copies d
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 changeset: 0:23c3be426dce
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 user: test
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 date: Thu Jan 01 00:00:01 1970 +0000
summary: 1: add c, move f to d
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
$ hg cat -r tip a b
a
a
a
b
b
$ hg -q verify
$ cd ..
Convert from merge
$ hg convert --config convert.hg.startrev=4 source conv4
initializing destination conv4 repository
scanning source...
sorting...
converting...
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 1 4: merge 2 and 3
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148 0 5: change a
$ glog conv4
o 1 "5: change a" files: a
|
Mads Kiilerich
test-convert-hg-startrev: fix test for copy removal on missing parent...
r19456 o 0 "4: merge 2 and 3" files: a b c d e
Dan Villiom Podlaski Christiansen
tests: unify test-convert-hg-startrev.
r12148
$ cd conv4
$ hg up -C
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg cat -r tip a b
a
a
a
b
b
$ hg -q verify
$ cd ..
Mads Kiilerich
convert: introduce hg.revs to replace hg.startrev and --rev with a revset...
r19891
Convert from revset in convert.hg.revs
$ hg convert --config convert.hg.revs='3:4+0' source revsetrepo
initializing destination revsetrepo repository
scanning source...
sorting...
converting...
2 0: add a b f
1 3: change a
0 4: merge 2 and 3
$ glog revsetrepo
o 2 "4: merge 2 and 3" files: b c d e f
|
o 1 "3: change a" files: a
|
o 0 "0: add a b f" files: a b f
Durham Goode
convert: remove restriction on multiple --rev in hg source...
r26154 Convert from specified revs
$ hg convert --rev 3 --rev 2 source multiplerevs
initializing destination multiplerevs repository
scanning source...
sorting...
converting...
3 0: add a b f
2 1: add c, move f to d
1 2: copy e from a, change b
0 3: change a
$ glog multiplerevs
o 3 "3: change a" files: a
|
| o 2 "2: copy e from a, change b" files: b e
| |
| o 1 "1: add c, move f to d" files: c d f
|/
o 0 "0: add a b f" files: a b f
Mads Kiilerich
tests: coverage of ancestry with convert in multiple non-overlapping steps...
r28899 Convert in multiple steps that doesn't overlap - the link to the parent is
Mads Kiilerich
convert: keep converted hg parents that are outside convert.hg.revs (BC)...
r28900 preserved anyway
Mads Kiilerich
tests: coverage of ancestry with convert in multiple non-overlapping steps...
r28899
$ hg convert --config convert.hg.revs=::1 source multistep
initializing destination multistep repository
scanning source...
sorting...
converting...
1 0: add a b f
0 1: add c, move f to d
$ hg convert --config convert.hg.revs=2 source multistep
scanning source...
sorting...
converting...
0 2: copy e from a, change b
$ glog multistep
Mads Kiilerich
convert: keep converted hg parents that are outside convert.hg.revs (BC)...
r28900 o 2 "2: copy e from a, change b" files: b e
|
Mads Kiilerich
tests: coverage of ancestry with convert in multiple non-overlapping steps...
r28899 o 1 "1: add c, move f to d" files: c d f
|
o 0 "0: add a b f" files: a b f