Mercurial > hg
view tests/test-copy2.out @ 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 | f2618cacb485 |
children | e8d10d085f47 |
line wrap: on
line source
# should fail - foo is not managed foo: not copying - file is not managed abort: no files to copy ? foo # dry-run; print a warning that this is not a real copy; foo is added foo has not been committed yet, so no copy data will be stored for bar. A foo # should print a warning that this is not a real copy; bar is added foo has not been committed yet, so no copy data will be stored for bar. A bar # should print a warning that this is not a real copy; foo is added bar has not been committed yet, so no copy data will be stored for foo. A foo # dry-run; should show that foo is clean C foo # should show copy A bar foo # shouldn't show copy # should match rev offset length base linkrev nodeid p1 p2 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd # should not be renamed bar not renamed # should show copy M bar foo # should show no parents for tip rev offset length base linkrev nodeid p1 p2 0 0 69 0 1 7711d36246cc 000000000000 000000000000 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000 2 75 81 1 3 b2558327ea8d 000000000000 000000000000 # should match rev offset length base linkrev nodeid p1 p2 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 1 5 7 1 2 dd12c926cf16 2ed2a3912a0b 000000000000 bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17 # should show no copies # copy --after on an added file A baz bar # foo was clean: C foo # but it's considered modified after a copy --after --force M foo bar