annotate tests/test-hg-parseurl.py @ 18510:f254ab6207ae stable

subrepo: use sharepath if available when locating the source repo This is an alternative fix for issue3518, enabling sharing of repositories with subrepos, without unconditionally setting the default path in the resulting repo's hgrc file. Better test coverage is added here, but won't prove this code is working until fd903f89e42b is backed out. The problem with the original fix is, if a default path is not available to be copied over from the share source, the default path on the resulting repo is set to the source location. Since that's where the actual repository is stored, the path is essentially self-referential, so push, pull, incoming and outgoing effectively operate on itself. While incoming and outgoing make it look like nothing was changed, push currently hangs (see issue3657). In this case where there is not a real default path, these operations should abort with "default(-push) not found", like the source repo would. Note this problem with the original fix affected repos without subrepos too.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 27 Nov 2012 20:56:27 -0500
parents 375872fdadba
children 8a23f88131c3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8174
29bc5d18714a hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
1 from mercurial.hg import parseurl
29bc5d18714a hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
2
10365
d757bc0c7865 interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents: 8174
diff changeset
3 def testparse(url, branch=[]):
d757bc0c7865 interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents: 8174
diff changeset
4 print '%s, branches: %r' % parseurl(url, branch)
8174
29bc5d18714a hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
5
29bc5d18714a hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
6 testparse('http://example.com/no/anchor')
29bc5d18714a hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
7 testparse('http://example.com/an/anchor#foo')
10365
d757bc0c7865 interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents: 8174
diff changeset
8 testparse('http://example.com/no/anchor/branches', branch=['foo'])
d757bc0c7865 interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents: 8174
diff changeset
9 testparse('http://example.com/an/anchor/branches#bar', branch=['foo'])
d757bc0c7865 interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents: 8174
diff changeset
10 testparse('http://example.com/an/anchor/branches-None#foo', branch=None)
13897
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 12865
diff changeset
11 testparse('http://example.com/')
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 12865
diff changeset
12 testparse('http://example.com')
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 12865
diff changeset
13 testparse('http://example.com#foo')