Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 23:47:17 +0900] rev 13865
hgweb: add missing bookmarks definition to coal/map
It shares most templates with paper style.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 23:47:05 +0900] rev 13864
hgweb: add separate bookmarks listing to gitweb theme (based on 38c9837b1f75)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 23:44:28 +0900] rev 13863
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 23:42:05 +0900] rev 13862
hgweb: format page_nav of gitweb/error.tmpl and add missing links
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 22:53:20 +0900] rev 13861
hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 22:53:20 +0900] rev 13860
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 22:53:19 +0900] rev 13859
hgweb: fix typo in page-header of monoblue's help template
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2011 22:53:19 +0900] rev 13858
hgweb: add missing bookmarks templates to atom/rss styles
It's already referenced from paper style.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Apr 2011 01:57:17 +0200] rev 13857
subrepo: process merge substate in sorted order in submerge()
This ensures that subrepositories are pulled in a well defined
order when cloning the parent repository.
BEFORE:
$ hg clone http://hg.gerg.ca/allextensions
destination directory: allextensions
requesting all changes
adding changesets
adding manifests
adding file changes
added 10 changesets with 20 changes to 6 files
updating to branch default
pulling subrepo caseguard from http://bitbucket.org/alexandru/caseguard
real URL is https://bitbucket.org/alexandru/caseguard
requesting all changes
adding changesets
adding manifests
adding file changes
added 81 changesets with 100 changes to 13 files
pulling subrepo hg-prompt from http://bitbucket.org/sjl/hg-prompt
real URL is https://bitbucket.org/sjl/hg-prompt
requesting all changes
adding changesets
adding manifests
adding file changes
added 114 changesets with 176 changes to 35 files
pulling subrepo hgpaste from http://bitbucket.org/birkenfeld/hgpaste
real URL is https://bitbucket.org/birkenfeld/hgpaste
requesting all changes
adding changesets
adding manifests
adding file changes
added 18 changesets with 18 changes to 2 files
...
AFTER:
$ hg clone http://hg.gerg.ca/allextensions
destination directory: allextensions
requesting all changes
adding changesets
adding manifests
adding file changes
added 10 changesets with 20 changes to 6 files
updating to branch default
pulling subrepo Artemis from http://hg.mrzv.org/Artemis
requesting all changes
adding changesets
adding manifests
adding file changes
added 55 changesets with 108 changes to 47 files
...
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sat, 02 Apr 2011 11:07:05 +0200] rev 13856
rebase: add --tool argument for specifying merge tool
Adrian Buehlmann <adrian@cadifra.com> [Fri, 01 Apr 2011 22:44:58 +0200] rev 13855
revert: note that added files are left as is
Patrick Mezard <pmezard@gmail.com> [Fri, 01 Apr 2011 20:40:27 +0200] rev 13854
bugzilla: fix documentation typo
Matt Mackall <mpm@selenic.com> [Fri, 01 Apr 2011 13:25:44 -0500] rev 13853
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Apr 2011 13:25:26 -0500] rev 13852
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 01 Apr 2011 14:35:04 -0300] rev 13851
i18n-pt_BR: synchronized with 8d960240faac
Kevin Gessner <kevin@fogcreek.com> [Thu, 31 Mar 2011 15:49:53 -0400] rev 13850
hgweb: add base link to file log for paper and coal styles (issue2452)
Brodie Rao <brodie@bitheap.org> [Wed, 05 Jan 2011 00:18:36 +1100] rev 13849
HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
This makes it possible to gain the benefits of HGPLAIN for scripting
while preserving different behaviors like internationalization.
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.
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13788
changegroup: fold linkrev helper into lookup functions
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13787
changegroup: fold filenode collector into mlookup
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13786
changegroup: roll changegroup.collector into lookup functions
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13785
changegroup: add revlog to the group callback
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13784
changegroup: move sorting down into group
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13783
changegroup: fold progress meter into callbacks
progress meters now start at 1 rather than 0
Matt Mackall <mpm@selenic.com> [Mon, 28 Mar 2011 11:18:56 -0500] rev 13782
changegroup: combine infocollect and lookup callbacks
Matt Mackall <mpm@selenic.com> [Thu, 24 Mar 2011 17:16:30 -0500] rev 13781
changegroup: drop unused fullrev
This is unfinished and unused and complicates expanding the wire protocol.
Idan Kamara <idankk86@gmail.com> [Sun, 27 Mar 2011 23:48:58 +0200] rev 13780
util: dates cannot consist entirely of whitespace (issue2732)
Daniel Atallah <daniel.atallah@gmail.com> [Fri, 25 Mar 2011 15:49:43 -0400] rev 13779
convert/mtn: convert suspended branches as closed branches
Monotone treats branch closing ("suspending") in a similar manner to how we do
in mercurial - a cert is added to a revision that marks the branch to be hidden.
If a subsequent commit is made, the branch is effectively reopened.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sun, 27 Mar 2011 13:34:20 +0200] rev 13778
rebase: don't mark file as removed if missing in parent's manifest (issue2725)
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 Mar 2011 12:22:07 +0200] rev 13777
windows: use win32.unlink in unlinkpath()
os.unlink fails to remove files with READONLY attribute
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 Mar 2011 01:47:58 +0100] rev 13776
win32: remove READONLY attribute on unlink
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 Mar 2011 01:17:48 +0100] rev 13775
windows: move unlink to win32.py
no code change
Martin Geisler <mg@lazybytes.net> [Sun, 27 Mar 2011 12:59:25 +0200] rev 13774
ui: label prompts, default to yellow prompts
Martin Geisler <mg@lazybytes.net> [Sun, 27 Mar 2011 12:41:55 +0200] rev 13773
record: replace poor man's if-statement with real if-statement
Brodie Rao <brodie@bitheap.org> [Fri, 25 Mar 2011 22:59:09 -0700] rev 13772
url: use url.url in hidepassword() and removeauth()
Brodie Rao <brodie@bitheap.org> [Fri, 25 Mar 2011 22:59:04 -0700] rev 13771
subrepos: use url.url when normalizing repo paths
This works around an issue in older versions of Python that would
strip double slashes from SSH URLs when using urlunparse() on a parsed
URL.
Related issues:
- issue1755: WinXP: cmd line hg 1.3 clone of subrepo fails, due to %5C
'\'? (originally fixed by f783bb979fb3).
Brodie Rao <brodie@bitheap.org> [Fri, 25 Mar 2011 22:58:56 -0700] rev 13770
url: provide url object
This adds a url object that re-implements urlsplit() and
unsplit(). The implementation splits out usernames, passwords, and
ports.
The implementation is based on the behavior specified by RFC
2396[1]. However, it is much more forgiving than the RFC's
specification; it places no specific restrictions on what characters
are allowed in each segment of the URL other than what is necessary to
split the URL into its constituent parts.
[1]: http://www.ietf.org/rfc/rfc2396.txt
Adrian Buehlmann <adrian@cadifra.com> [Wed, 23 Feb 2011 23:30:48 +0100] rev 13769
cmdutil: fix mode handling in make_file
Matt Mackall <mpm@selenic.com> [Sat, 26 Mar 2011 17:12:02 -0500] rev 13768
revlog: change variable name to avoid reuse
Adrian Buehlmann <adrian@cadifra.com> [Sat, 26 Mar 2011 10:59:33 +0100] rev 13767
debugstate: add new --datesort option
sorts the output lines by mtime, then by filename
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Sat, 26 Mar 2011 13:05:17 +0100] rev 13766
rebase: restore mq guards after rebasing (issue2107)
Guards on rebased mq patches were lost.
This patch restores them after the qimporting step.
Idan Kamara <idankk86@gmail.com> [Fri, 25 Mar 2011 22:18:05 +0200] rev 13765
tests: no need to explicitly export HOME in test files
the test runner ensures that HOME is set to a temp dir
Idan Kamara <idankk86@gmail.com> [Fri, 25 Mar 2011 22:15:37 +0200] rev 13764
tests: set HOME to the test temp dir (issue2707)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 25 Mar 2011 15:03:53 +0100] rev 13763
dirstate: eliminate _lastnormal set
We can get rid of the _lastnormal set by using the filesystem mtimes to
identify the problematic "lastnormal" files on status(), forcing a file
content-comparison if the file's mtime timeslot is equal to _lastnormaltime.
Patrick Mezard <pmezard@gmail.com> [Fri, 25 Mar 2011 16:46:19 +0100] rev 13762
test-extdiff: fix 5c0e1222e7c0 temporary dir output
Daniel Atallah <daniel.atallah@gmail.com> [Fri, 25 Mar 2011 10:13:46 -0400] rev 13761
convert/mtn: avoid unnecessary initial test of mtn repo
As soon as before() is called, we'll know if there is a problem (and get a
better error message).
Daniel Atallah <daniel.atallah@gmail.com> [Wed, 23 Mar 2011 14:26:56 -0400] rev 13760
convert/mtn: add support for using monotone's "automate stdio" when available
Currently the convert extension spawns a new mtn process for each
operation. For a large repository, this ends up being hundreds of
thousands of processes. The following enables usage of monotone's
"automate stdio" functionality - documented at:
http://www.monotone.ca/docs/Automation.html#index-mtn-automate-stdio-188
The effect is that (after determining that a new enough mtn executable
is available) a single long-running mtn process is used for all the
operations, using stdin/stdout to send commands and read output.
This has a pretty significant effect on the performance of some parts
of the conversion process.
Daniel Atallah <daniel.atallah@gmail.com> [Thu, 24 Mar 2011 16:54:09 -0400] rev 13759
convert: add support to common commandline to access stdin of the process
jfh <jason@jasonfharris.com> [Mon, 21 Mar 2011 17:03:16 +0100] rev 13758
extdiff: use absolute paths for any temporary files
This allows the use of p4merge amongst possible other external tools.
Edouard Gomez <ed.gomez@free.fr> [Fri, 25 Mar 2011 01:38:47 +0100] rev 13757
convert: add bookmark support to hg source
Edouard Gomez <ed.gomez@free.fr> [Fri, 25 Mar 2011 01:38:43 +0100] rev 13756
convert: add bookmarks reading support to git backend
Matt Mackall <mpm@selenic.com> [Thu, 24 Mar 2011 15:12:51 -0500] rev 13755
ssh: fix password test
We don't support passwords in ssh URLs, and neither do some versions
of Python's urllib. Since we don't actually care much here, punt with
a glob in the test.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 24 Mar 2011 18:39:54 +0100] rev 13754
dirstate: check mtime when adding to _lastnormal
- consistently use mtime as mapped to dirstate granularity (needed for
filesystems like NTFS, which have sub-second resolution)
- no need to add files with mtime < _lastnormaltime
- improve comments
Martin Geisler <mg@aragost.com> [Thu, 24 Mar 2011 18:17:49 +0100] rev 13753
subrepo: simplify hgsubrepo._get a little
Lee Cantey <lcantey@gmail.com> [Thu, 24 Mar 2011 08:51:58 -0700] rev 13752
Fix expected url to match test.
Patrick Mezard <pmezard@gmail.com> [Thu, 24 Mar 2011 10:28:29 +0100] rev 13751
patch: deprecate ui.patch / external patcher feature
Why?
- Mercurial internal patcher works correctly for regular patches and git
patches, is much faster at least on Windows and is more extensible.
- In theory, the external patcher can be used to handle exotic patch formats. I
do not know any and have not heard about any such use in years.
- Most patch programs cannot handle git format patches, which makes the API
caller to decide either to ignore ui.patch by calling patch.internalpatch()
directly, or take the risk of random failures with valid inputs.
- One thing a patch program could do Mercurial patcher cannot is applying with
--reverse. Apparently several shelve like extensions try to use that,
including passing the "reverse" option to Mercurial patcher, which has been
removed mid-2009. I never heard anybody complain about that, and would prefer
reimplementing it anyway.
And from the technical perspective:
- The external patcher makes everything harder to maintain and implement. EOL
normalization is not implemented, and I would bet file renames, if supported
by the patcher, are not correctly recorded in the dirstate.
- No tests.
How?
- Remove related documentation
- Clearly mark patch.externalpatch() as private
- Remove the debuginstall check. This deprecation request was actually
triggered by this last point. debuginstall is the only piece of code patching
without a repository. When migrating to an integrated patch() + updatedir()
call, this was really a showstopper, all workarounds were either ugly or
uselessly complicated to implement. If we do not support external patcher
anymore, the debuginstall check is not useful anymore.
- Remove patch.externalpatch() after 1.9 release.
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 19:28:16 -0500] rev 13750
# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
# Date 1289564504 -3600
# Node ID b75264c15cc888cf38c3c7b8f619801e3c2589c7
# Parent 89b2e5d940f669e590096c6be70eee61c9172fff
revsets: overload the branch() revset to also take a branch name.
This should only change semantics in the specific case of a tag/branch
conflict where the tag wasn't done on the branch with the same
name. Previously, branch(whatever) would resolve to the branch of the
tag in that case, whereas now it will resolve to the branch of the
name. The previous behaviour, while documented, seemed very
counter-intuitive to me.
An alternate approach would be to introduce a new revset such as
branchname() or namedbranch(). While this would retain backwards
compatibility, the distinction between it and branch() would not be
readily apparent to users. The most intuitive behaviour would be to
have branch(x) require 'x' to be a branch name, and something like
branchof(x) or samebranch(x) do what branch(x) currently
does. Unfortunately, our backwards compatibility guarantees prevent us
from doing that.
Please note that while 'hg tag' guards against shadowing a branch, 'hg
branch' does not. Besides, even if it did, that wouldn't solve the
issue of conversions with such tags and branches...
Adrian Buehlmann <adrian@cadifra.com> [Wed, 23 Mar 2011 22:58:40 +0100] rev 13749
test-commit-multiple.t: improve committwice.py
- fix bug in replacebyte: parameter fn wasn't used (no harm done)
- remove unneeded matcher
- remove unused local n
- increase test coverage a bit with a second file and some sleeping
- show files changed in revisions
- move print statements out of racy path to make sure it's as racy as possible
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 23 Mar 2011 23:05:32 +0100] rev 13748
osutil: replace #import with #include, and add a check for it
Patrick Mezard <pmezard@gmail.com> [Wed, 23 Mar 2011 23:33:14 +0100] rev 13747
code indentation fixes
Edouard Gomez <ed.gomez@free.fr> [Wed, 07 Jul 2010 00:06:59 +0200] rev 13746
convert: add bookmark support to the hg sink