- Mar 31, 2011
-
-
Kevin Gessner authored
-
- Jan 04, 2011
-
-
Brodie Rao authored
This makes it possible to gain the benefits of HGPLAIN for scripting while preserving different behaviors like internationalization.
-
- Apr 01, 2011
-
-
Brodie Rao authored
While the URL parser is very forgiving about what characters are allowed in each component, it's useful to be strict about the scheme so we don't accidentally interpret local paths with colons as URLs. This restricts schemes to containing alphanumeric characters, dashes, pluses, and dots (as specified in RFC 2396).
-
Matt Mackall authored
-
Wagner Bruna authored
-
Martin Geisler authored
The indented second line turned the first line into a description header.
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
Martin Geisler authored
-
- Mar 31, 2011
-
-
Matt Mackall authored
This makes the bundler pluggable at lower levels.
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
Brodie Rao authored
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 authored
-
Brodie Rao authored
-
Brodie Rao authored
-
Brodie Rao authored
To allow one letter schemes, this makes the extension override url.has_drive_letter() to return False for any schemes defined. On Windows, the extension will raise util.Abort for any schemes that conflict with existing drive letters.
-
Brodie Rao authored
-
Brodie Rao authored
-
Brodie Rao authored
Like the previous patch to getauthinfo(), this also makes username/password parsing more forgiving for SSH URLs. This also opens up the possibility of allowing non-numeric ports, since the URL parser has no problem handling them. Related issues: - issue851: @ in password in http url - issue2055: nonnumeric port bug with https protocol
-
Brodie Rao authored
-
Brodie Rao authored
-
Brodie Rao authored
This allows bundle://../foo to continue to refer to the relative path ../foo (bundle URLs do not take host names).
-
Brodie Rao authored
This works around a potential issue in Python 2.4 where cloning a repo with a URL like http://foo:8080 would cause urllib2 to query on http://foo:8080?cmd=capabilities instead of http://foo:8080/?cmd=capabilities. In the past, this issue has been masked by the fact that url.getauthinfo() added a trailing slash when it was missing.
-
Brodie Rao authored
This will let the schemes extension override drive letter detection to allow single letter schemes.
-
Matt Mackall authored
-
Matt Mackall authored
This eliminates some needless differences between the two changegroup variants
-
Matt Mackall authored
-
- Mar 30, 2011
-
-
Matt Mackall authored
-
Matt Mackall authored
This will allow us to later change how we filter needed file nodes
-