annotate tests/test-hybridencode.py @ 11109:a2bc2f2d77a9

subrepo: normalize path part of URLs so that pulling subrepos from webdir works For a "all projects at root" repo layout eg: /main /sub Where subrepos are used such that a clone of main has this layout: ./main/ ./main/.hgsub ./main/sub/ And the .hgsub content is: sub = ../sub This allows a pull from a hgweb where main and sub are exposed at the root (or same directory level) The current code doesn't normalize the path component of a pull url. this results in trying to pull from http://server.com/hg/main/../sub Current hgweb implementation doesn't reduce the path component so this results in a 404 error though everything is setup logically. This patch adresses this 404 error on the puller side normalizing the URLs used for pulling sub repos. For this example, the URL would be reduced to http://server.com/hg/sub Fix + test
author Edouard Gomez <ed.gomez@free.fr>
date Sat, 01 May 2010 23:05:19 +0200
parents 1a6d702e059d
children 34d8247a4595
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7275
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
1 #!/usr/bin/env python
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
2
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
3 from mercurial import store
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
4
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
5 enc = store.hybridencode # used for fncache repo format
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
6
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
7 def show(s):
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
8 print "A = '%s'" % s
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
9 print "B = '%s'" % enc(s)
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
10 print
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
11
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
12 show('data/aux.bla/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c.i')
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
13
8659
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
14 show('data/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
15 'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
16 show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
17 'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
18 '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
19 show('data/AUX.THE-QUICK-BROWN-FOX-JU:MPS-OVER-THE-LAZY-DOG-THE-QUICK-'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
20 'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
21 show('data/Project Planning/Resources/AnotherLongDirectoryName/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
22 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
23 show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
24 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
7515
ee5aba886108 store: encode trailing period and space on directory names (issue1417)
Adrian Buehlmann <adrian@cadifra.com>
parents: 7514
diff changeset
25 show('data/foo.../foo / /a./_. /__/.x../ bla/something.i')