Brodie Rao <brodie@bitheap.org> [Thu, 31 Mar 2011 17:37:33 -0700] rev 13848
url: be stricter about detecting schemes
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 <mpm@selenic.com> [Fri, 01 Apr 2011 12:42:02 -0500] rev 13847
Added signature for changeset b032bec2c0a6
Matt Mackall <mpm@selenic.com> [Fri, 01 Apr 2011 12:41:56 -0500] rev 13846
Added tag 1.8.2 for changeset b032bec2c0a6
Matt Mackall <mpm@selenic.com> [Fri, 01 Apr 2011 11:45:29 -0500] rev 13845
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Apr 2011 11:45:07 -0500] rev 13844
merge with i18n
Wagner Bruna <wbruna@yahoo.com> [Fri, 01 Apr 2011 07:53:15 -0300] rev 13843
i18n-pt_BR: synchronized with 794f4476b974
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:30:40 +0200] rev 13842
bugzilla: fix bad reST markup
The indented second line turned the first line into a description
header.
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:27:12 +0200] rev 13841
bugzilla: markup literal text as such
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:21:59 +0200] rev 13840
merge with stable
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:18:37 +0200] rev 13839
help/hgweb: add pointer to hgrc(5) location
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:14:42 +0200] rev 13838
patchbomb, help/hgweb: do not refer to config files as hgrc files
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:09:11 +0200] rev 13837
bugzilla: refer to hgrc(5) man page with normal notation
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:07:37 +0200] rev 13836
bugzilla: markup section names as literal text
Martin Geisler <mg@aragost.com> [Fri, 01 Apr 2011 12:05:19 +0200] rev 13835
bugzilla: show usermap syntax more clearly
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()
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:02:09 -0700] rev 13824
hg: use url.url to parse branch names in parseurl()
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:02:07 -0700] rev 13823
hg: look up schemes using url.url
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:47 -0700] rev 13822
schemes: prevent one letter schemes from being interpreted as drive letters
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 <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:46 -0700] rev 13821
hgweb: use url.url when setting CGI environment variables
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:44 -0700] rev 13820
url: use url.url in proxyhandler
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:35 -0700] rev 13819
httprepo/sshrepo: use url.url
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 <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:34 -0700] rev 13818
url: use url.url in url.open()
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:01:31 -0700] rev 13817
url: abort on file:// URLs with non-localhost hosts
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:00:24 -0700] rev 13816
url: special case bundle URL parsing to preserve backwards compatibility
This allows bundle://../foo to continue to refer to the relative path
../foo (bundle URLs do not take host names).
Brodie Rao <brodie@bitheap.org> [Wed, 30 Mar 2011 20:00:23 -0700] rev 13815
url: add trailing slashes to URLs with hostnames that don't have one
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 <brodie@bitheap.org> [Wed, 30 Mar 2011 19:50:56 -0700] rev 13814
url: move drive letter checking into has_drive_letter() for extensions
This will let the schemes extension override drive letter detection to
allow single letter schemes.
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 10:03:24 -0500] rev 13813
changegroup: unnest some lookup functions
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 09:59:56 -0500] rev 13812
changegroup: minor ordering and renaming changes for similarity
This eliminates some needless differences between the two changegroup variants
Matt Mackall <mpm@selenic.com> [Thu, 31 Mar 2011 09:56:27 -0500] rev 13811
changegroup: remove nodeiter temporary
Matt Mackall <mpm@selenic.com> [Wed, 30 Mar 2011 17:50:34 -0500] rev 13810
changegroup: refactor prune as a filter
Matt Mackall <mpm@selenic.com> [Wed, 30 Mar 2011 17:50:27 -0500] rev 13809
changegroup: add first logic to send file header
This will allow us to later change how we filter needed file nodes
Matt Mackall <mpm@selenic.com> [Wed, 30 Mar 2011 14:42:41 -0500] rev 13808
url: fix tests
Matt Mackall <mpm@selenic.com> [Wed, 30 Mar 2011 13:34:39 -0500] rev 13807
url: deal with drive letters
David Soria Parra <dsp@php.net> [Mon, 14 Mar 2011 23:50:28 +0100] rev 13806
bookmarks: do not forward merged bookmark (issue1877)
Matt Mackall <mpm@selenic.com> [Wed, 30 Mar 2011 13:23:24 -0500] rev 13805
merge with stable
Kevin Berridge <kevin.w.berridge@gmail.com> [Mon, 28 Mar 2011 20:56:56 -0400] rev 13804
pull: new output message when there are multiple branches
Pull outputs a slightly new message when there are multiple branches and
the current branch has many heads:
(run 'hg heads .' to see heads, 'hg merge' to merge)
This message adds the "." in hg heads to encourage you to consider only the
current branch's heads.
Kevin Berridge <kevin.w.berridge@gmail.com> [Fri, 11 Mar 2011 20:43:12 -0500] rev 13803
pull: don't suggest running hg merge when new heads are on different branches
After a pull when new heads are added but no head is added on the current
branch, the "run 'hg merge'" message can be misleading. This patch doesn't
output the merge message in that scenario.
Jim Hague <jim.hague@acm.org> [Wed, 30 Mar 2011 09:49:45 +0100] rev 13802
bugzilla: add modified XMLRPC mode that uses email to send bug comments.
If Bugzilla has its email interface configured, an email can be used
to update bugs. If the From: address in the email matches a valid user
email, Bugzillas make the update as that user. So comments attached to a
bug appear under the name of the user making the change, and the user
does not receive email about the change, exactly as if they had made
the change via the web interface.
So add a modified XMLRPC mode that uses email to modify bugs. The format
of the mails is documented in the Bugzilla email_in.pl specification.
Briefly, initial non-blank lines in the message body starting
'@<field> = <value> modify bug fields. A blank line signals the end of
the command lines, and the rest of the message is used as bug comment.
Invoke the same Mercurial user to Bugzilla user email mapping
currently used in the MySQL mode.
All other processing - checking the bug numbers, checking user ids, etc.
continues to be done via XMLRPC.
Jim Hague <jim.hague@acm.org> [Wed, 30 Mar 2011 09:49:45 +0100] rev 13801
bugzilla: add XMLRPC interface.
Add support for access to Bugzilla via the XMLRPC interface.
This requires a single username and password used to log in to Bugzilla,
plus the URL of the Bugzilla installation. Commit messages are added to
bugs as before, but security only permits them to be added as the
username used to log in.
Jim Hague <jim.hague@acm.org> [Wed, 30 Mar 2011 09:49:45 +0100] rev 13800
bugzilla: localise all MySQL direct access inside access class.
Prepare for the addition of other Bugzilla access methods by localising
direct MySQL database access inside an access class.
Provide a base access class largely to document the methods required for
a class implementing a particular access method.
Rename the 'bugzilla_<version>' classes to 'bzmysql_<version>' to
emphasise that they are doing access via direct manipulation of a
MySQL database.
Jim Hague <jim.hague@acm.org> [Wed, 30 Mar 2011 09:49:45 +0100] rev 13799
bugzilla: keep bug IDs in set.
Bug IDs are collected into a set, and then silently converted in
filter_real_bug_ids() into a list. For consistency, keep them in
a set throughout and update the docstrings to say that.
Jim Hague <jim.hague@acm.org> [Wed, 30 Mar 2011 09:49:45 +0100] rev 13798
bugzilla: rename filter_unknown_bug_ids to reflect its actual purpose.
The method really removes from the list of bugs any that already have
comment text referencing the changeset in question. Rename it to
filter_cset_known_bug_ids().
Adrian Buehlmann <adrian@cadifra.com> [Tue, 29 Mar 2011 19:20:28 +0200] rev 13797
test-paths.t: 'file:' disables [paths] entries for clone dest
timeless@gmail.com [Tue, 29 Mar 2011 16:33:10 +0000] rev 13796
hgwebdir: handle IOErrors from localrepo while enumerating
Repository() raises a number of IOErrors in addition to RepoErrors.
these are just as uninteresting as RepoErrors and should be ignored
The easiest case of this is a repo whose .hg/ directory is -rx
Adrian Buehlmann <adrian@cadifra.com> [Mon, 28 Mar 2011 15:54:22 +0200] rev 13795
set NOT_CONTENT_INDEXED on .hg dir (issue2694)
when running on Windows
Yuya Nishihara <yuya@tcha.org> [Wed, 30 Mar 2011 02:22:15 +0900] rev 13794
hgweb: add bookmark labels to monoblue theme (based on 270f57d35525)
Martin Geisler <mg@aragost.com> [Tue, 29 Mar 2011 16:25:48 +0200] rev 13793
merge with stable
Daniel Atallah <daniel.atallah@gmail.com> [Mon, 28 Mar 2011 23:16:20 -0400] rev 13792
convert/mtn: Fix conversion of large files from mtn (broken in ed97955e0c04)
"mtn automate stdio" will break output larger than 32kB into several packets.
This ensures that we are processing all the output on the main stream and not
only the last packet.
timeless@gmail.com [Tue, 29 Mar 2011 16:45:23 +0300] rev 13791
mq: fix qselect help for qguard
Brendan Cully <brendan@kublai.com> [Mon, 28 Mar 2011 21:36:29 -0700] rev 13790
Fix transplant error message to correspond with test
Luke Plant <L.Plant.98@cantab.net> [Mon, 28 Mar 2011 21:17:32 +0100] rev 13789
transplant: fix crash if filter script munges log file
This fixes an UnboundLocalError crash if the filter script removes the
'User' or 'Date' lines from the log file.