Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:03:23 +0200] rev 13834
bugzilla: use standard section.name notation
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:00:57 +0200] rev 13833
bugzilla: prefix each config option with section
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 11:59:18 +0200] rev 13832
bugzilla: fix reStructuredText errors introduced in 60256f7f30c1
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 15:24:06 -0500] rev 13831
changegroup: introduce bundler objects
This makes the bundler pluggable at lower levels.
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 14:25:26 -0500] rev 13830
changegroup: combine lookup functions
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 13:56:05 -0500] rev 13829
changegroup: unnest flookup
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 12:04:54 -0500] rev 13828
changegroup: unnest clookup and mlookup like changegroupsubset
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 10:43:53 -0500] rev 13827
url: nuke some newly-introduced underbars in identifiers
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:03:05 -0700] rev 13826
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
This replaces util.drop_scheme() with url.localpath(), using url.url for
parsing instead of doing it on its own. The function is moved from
util to url to avoid an import cycle.
hg.localpath() is removed in favor of using url.localpath(). This
provides more consistent behavior between "hg clone" and other
commands.
To preserve backwards compatibility, URLs like bundle://../foo still
refer to ../foo, not /foo.
If a URL contains a scheme, percent-encoded entities are decoded. When
there's no scheme, all characters are left untouched.
Comparison of old and new behaviors:
URL drop_scheme() hg.localpath() url.localpath()
=== ============= ============== ===============
file://foo/foo /foo foo/foo /foo
file://localhost:80/foo /foo localhost:80/foo /foo
file://localhost:/foo /foo localhost:/foo /foo
file://localhost/foo /foo /foo /foo
file:///foo /foo /foo /foo
file://foo (empty string) foo /
file:/foo /foo /foo /foo
file:foo foo foo foo
file:foo%23bar foo%23bar foo%23bar foo#bar
foo%23bar foo%23bar foo%23bar foo%23bar
/foo /foo /foo /foo
Windows-related paths on Windows:
URL drop_scheme() hg.localpath() url.localpath()
=== ============= ============== ===============
file:///C:/foo C:/C:/foo /C:/foo C:/foo
file:///D:/foo C:/D:/foo /D:/foo D:/foo
file://C:/foo C:/foo C:/foo C:/foo
file://D:/foo C:/foo D:/foo D:/foo
file:////foo/bar //foo/bar //foo/bar //foo/bar
//foo/bar //foo/bar //foo/bar //foo/bar
\\foo\bar //foo/bar //foo/bar \\foo\bar
Windows-related paths on other platforms:
file:///C:/foo C:/C:/foo /C:/foo C:/foo
file:///D:/foo C:/D:/foo /D:/foo D:/foo
file://C:/foo C:/foo C:/foo C:/foo
file://D:/foo C:/foo D:/foo D:/foo
file:////foo/bar //foo/bar //foo/bar //foo/bar
//foo/bar //foo/bar //foo/bar //foo/bar
\\foo\bar //foo/bar //foo/bar \\foo\bar
For more information about file:// URL handling, see:
http://www-archive.mozilla.org/quality/networking/testing/filetests.html
Related issues:
- issue1153: File URIs aren't handled correctly in windows
This patch should preserve the fix implemented in
2770d03ae49f. However, it goes a step further and "promotes"
Windows-style drive letters from being interpreted as host names to
being part of the path.
- issue2154: Cannot escape '#' in Mercurial URLs (#1172 in THG)
The fragment is still interpreted as a revision or a branch, even in
paths to bundles. However, when file: is used, percent-encoded
entities are decoded, so file:test%23bundle.hg can refer to
test#bundle.hg ond isk.
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:02:17 -0700] rev 13825
url: use url.url in ui.expandpath()