Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Oct 2014 21:10:24 -0700] rev 23145
largefiles: remove confusing 'or None' from predicate
The match function that is overriden returns a boolean value, so
adding 'or None' is both unnecessary and confusing.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 30 Oct 2014 22:32:39 -0700] rev 23144
largefiles: drop unnecessary setting of matcher._always
In two very similar segments of code, an existing matcher is modified
by changing its _files attribute through a map and a filter
operation. Neither operation can cause an empty list to become
non-empty, so a matcher that always matches can not stop always
matching. Drop the setting of the attribute, so we don't unnecessarily
prevent the fast paths to be taken where these matchers end up being
used.
Mads Kiilerich <madski@unity3d.com> [Sun, 19 Oct 2014 03:22:23 +0200] rev 23143
config: move mergetools configuration from contrib to default configuration
The merge tool configuration is an essential part of a good initial user
experience. 'make osx' installers and direct 'make' installation did not have
merge tool configuration. Now they have.
Note: The installer fixes for windows have been done blindly and might require
additional changes.
Mads Kiilerich <madski@unity3d.com> [Thu, 04 Sep 2014 21:36:35 +0200] rev 23142
config: introduce "built-in" default configuration settings in default.d
This helps providing a more consistent user experience on all platforms and
with all packaging.
The exact location of default.d depends on how Mercurial is installed and
whether it is 'frozen'. The exact location should never be relevant to users
and is intentionally not explained in details in the documentation. It will
however always be next to the help and templates files.
Note that setting HGRCPATH also disables these defaults. I don't know if that
should be considered a bug or a feature.
Mads Kiilerich <madski@unity3d.com> [Sat, 18 Oct 2014 21:48:38 +0200] rev 23141
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Nov 2014 16:39:02 +0100] rev 23140
contrib: update build defaults to latest Python and docutils versions
Use Python 2.7.8 and Docutils 0.12 for Makefile.python and buildrpm (CentOS 5
rpms).
Mads Kiilerich <madski@unity3d.com> [Thu, 17 Apr 2014 22:47:38 +0200] rev 23139
spelling: fixes from proofreading of spell checker issues
Michael Fyles <mf@vorston.net> [Thu, 26 Jul 2012 11:38:13 +0100] rev 23138
extdiff: quote user-supplied options passed to shell
$ hg extdiff -p cmd -o "name <user@example.com>"
resulted in a shell redirection error (due to the less-than sign),
rather than passing the single option to cmd. This was due to options
not being quoted for passing to the shell, via util.system(). Apply
util.shellquote() to each of the user-specified options (-o) to the
comparison program before they are concatenated and passed to
util.system(). The requested external diff command (-p) and the
files/directories being compared are already quoted correctly.
The discussion at the time of changeset
be98c5ce4022 correctly noted
that this course of action breaks whitespace-separated options specified
for external diff commands in the configuration. The lower part of the
patch corrects this by lexing options read from the configuration file
into separate options rather than reading them all into the first
option.
Update test to cover these conditions.
Related changesets (reverse-chronological):
-
be98c5ce4022 (fix reverted to make configuration file options work)
-
453097750fbf (issue fixed but without fix for configuration file)
Yuya Nishihara <yuya@tcha.org> [Sun, 02 Nov 2014 13:20:07 +0900] rev 23137
serve: correct meta variable of --daemon-pipefds option
It was changed to lock path at
e22695b4472f.
Yuya Nishihara <yuya@tcha.org> [Sun, 02 Nov 2014 13:08:46 +0900] rev 23136
tests: have dumbhttp.py use cmdutil.service() to wait for child to listen()
Because the original dumbhttp.py exited without waiting for listen(), several
tests could fail with "abort: error: Connection refused" if subsequent hg
command is fast enough.
Martin von Zweigbergk <martinvonz@google.com> [Sun, 19 Oct 2014 22:09:03 -0700] rev 23135
test-revert: remove obsolete comment about known misbehavior
It seems like the last known misbehvior that the comment was referring
to was dealt with in
2ff28e07d7d6 (revert: properly back up added
files with local modification, 2014-08-31).
Matt Mackall <mpm@selenic.com> [Mon, 03 Nov 2014 11:06:51 -0600] rev 23134
test-revert.t: fix wc check-code false positive
Matt Mackall <mpm@selenic.com> [Mon, 03 Nov 2014 14:01:52 -0600] rev 23133
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Nov 2014 22:48:49 -0500] rev 23132
Added signature for changeset
ced632394371
Matt Mackall <mpm@selenic.com> [Sat, 01 Nov 2014 22:48:12 -0500] rev 23131
Added tag 3.2 for changeset
ced632394371
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 23:52:53 +0000] rev 23130
setdiscovery: limit the size of all sample (
issue4411)
Further digging on this issue show that the limit on the sample size used in
discovery never works for heads. Here is a quote from the code itself:
desiredlen = size - len(always)
if desiredlen <= 0:
# This could be bad if there are very many heads, all unknown to the
# server. We're counting on long request support here.
The long request support never landed and evolution make the "very many heads,
all unknown to the server" case quite common.
We implement a simple and stupid hard limit of sample size for all query. This
should prevent HTTP 414 error with the current state of the code.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 23:17:50 +0000] rev 23129
hook: protect commit hooks against stripping of temporary commit (
issue4422)
History rewriting commands like histedit tend to use temporary
commits. They may schedule hook execution on these temporary commits
for after the lock has been released. But temporary commits are likely
to have been stripped before the lock is released (and the hook run).
Hook executed for missing revisions leads to various crashes.
We disable hooks execution for revision missing in the repo. This
provides a dirty but simple fix to user issues.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 22:59:37 +0000] rev 23128
mq: do not call [0] on revset
The __getitem__ method have been removed. The "first" method is to be used
instead. Test have been extended to test this code path.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 22:58:30 +0000] rev 23127
addset: fix `first` and `last` on sorted addset (
issue4426)
The lazy sorting were not enforced on addset. This was made visible through MQ.
Matt Mackall <mpm@selenic.com> [Sat, 01 Nov 2014 17:30:57 -0500] rev 23126
clone: properly mark branches closed with --uncompressed (
issue4428)
On streaming clone, we were priming the local branch cache with the
remote branchmap, without checking which heads were closed.
This fixes an issue introduced in:
changeset: 17740:
e6067bec18da
user: Tomasz Kleczek <tomasz.kleczek@fb.com>
date: Wed Oct 03 13:19:53 2012 -0700
summary: branchcache: fetch source branchcache during clone (
issue3378)
that was exposed in 2.9 by:
changeset: 20192:
38fad5e76ee8
user: Brodie Rao <brodie@sf.io>
date: Mon Sep 16 01:08:29 2013 -0700
summary: branches: simplify with repo.branchmap().iterbranches()
Mads Kiilerich <madski@unity3d.com> [Sat, 01 Nov 2014 20:00:31 +0100] rev 23125
Makefile: update .PHONY
Based on
sed -n 's/^\([a-z0-9-]*\):\(\s.*\)\?$/\1/gp' Makefile | xargs echo
add check, check-code, update-pot, some packaging targets
Mads Kiilerich <madski@unity3d.com> [Sat, 01 Nov 2014 20:00:00 +0100] rev 23124
buildrpm: fix use of invalid $PLATFORM in mercurial.repo
Matt Mackall <mpm@selenic.com> [Sat, 01 Nov 2014 13:13:04 -0500] rev 23123
debuglocks: add missing usage summary
Mads Kiilerich <madski@unity3d.com> [Sat, 01 Nov 2014 19:02:31 +0100] rev 23122
help: don't crash on help for 'sections' with multiple '.'
Mads Kiilerich <madski@unity3d.com> [Sat, 01 Nov 2014 18:28:54 +0100] rev 23121
help: fix config description of ui.reportoldssl
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 18:03:17 +0900] rev 23120
i18n-ja: synchronized with
f3baaeffe841
Wagner Bruna <wbruna@yahoo.com> [Fri, 31 Oct 2014 22:30:39 -0200] rev 23119
i18n-pt_BR: synchronized with
0b7853f969ac
Wagner Bruna <wbruna@yahoo.com> [Fri, 31 Oct 2014 22:22:41 -0200] rev 23118
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 01:03:11 +0900] rev 23117
i18n-ja: synchronized with
5459b30aa498
Durham Goode <durham@fb.com> [Fri, 31 Oct 2014 12:56:25 -0700] rev 23116
clone: fix copying bookmarks in uncompressed clones (
issue4430)
ef62c66bee1b broke bookmarks getting copied during uncompressed clones. Since
most of the pull logic has been moved into exchange.py, lets just call
exchange.pull to fix up the repo with the latest bits after the streaming clone
has bootstrapped the repo. This keeps us from having to duplicate the bookmark
logic.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 31 Oct 2014 10:41:36 -0700] rev 23115
revset: don't recreate matcher for every revision
The matcher variable 'm' in checkstatus() is reset to None on each
call, so the caching of the matcher no longer happens as it was
intended. This seems to be a regression in
ed7b674824a3 (revset: added
lazyset implementation to checkstatus, 2014-01-03).
Fix by moving the cached matcher into the enclosing function so it's
actually cached across calls. This speeds up
hg log -r 'modifies(mercurial/context.py)' >/dev/null
from 7.5s to 4s.
Also see similar fix in
f2aeff8a87b6 (revset: avoid recalculating
filesets, 2014-10-22).
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23114
help: use ":hg:`command`" instead of incorrect ":hg:'command'" notation
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23113
i18n: add i18n comment to error messages of filesets predicates
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23112
i18n: add i18n comment to error messages of template functions
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23111
help: refer ":merge3" instead of "internal:merge3"
According to warning message (introduced by
38e0363dcbe0) in
filemerge.py, the former should be used as official name.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23110
i18n: make hint message of exception translatable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:43:08 +0900] rev 23109
help: use "hg files" instead of "hg locate" in "hg help filesets"
The latter command is already deprecated.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 01 Nov 2014 02:41:18 +0900] rev 23108
files: refer "hg help filesets" instead of "hg help revsets" in help text
"specifying FILE patterns" should refer the former.
Matt Mackall <mpm@selenic.com> [Thu, 30 Oct 2014 17:52:01 -0500] rev 23107
tests: silence output race in test-run-tests.t
Matt Mackall <mpm@selenic.com> [Thu, 30 Oct 2014 16:57:28 -0500] rev 23106
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Oct 2014 20:38:17 -0200] rev 23105
i18n-pt_BR: synchronized with
8d43c6bb38c0
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 23 Oct 2014 18:17:00 -0200] rev 23104
i18n-pt_BR: synchronized with
c312ef382033
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 17 Oct 2014 21:25:48 -0700] rev 23103
transaction: only generate file when we actually close the transaction
Before this change, the file were written for every call to `tr.close()`
exposing data to reader far too early.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Sep 2014 00:59:25 -0700] rev 23102
transaction: extract file generation into its own function
We extract the code generating files into its own function. We are
about to move this code around to fix a bug. We'll need it in a
function soon to reuse it for "pending" logic. So we move the code
into a function instead of moving it twice.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 28 Oct 2014 23:05:19 -0400] rev 23101
amend: abort early if no username is configured with evolve enabled (
issue4211)
Amend will reuse the original username if a new one is not provided
with -U, but obsolete.createmarkers() only considers ui.username() for
the obsolete marker's metadata. Allowing the metadata field to be
spoofed seems to defeat the point of the field in the first place.
This covers 'evolve amend' and 'ci --amend' with evolve enabled.
Without this, the transaction aborts but the parent changeset is set to -1. The
corresponding test will be added to evolve separately.
Durham Goode <durham@fb.com> [Tue, 28 Oct 2014 14:06:06 -0700] rev 23100
revset: fix O(2^n) perf regression in addset
hg log -r 1 ... -r 100 was never returning due to a regression in the
way addset computes __nonzero__. It used 'bool(self._r1 or self._r2)'
which required executing self._r1.__nonzero__ twice (once for the or,
once for the bool). hg log with a lot of -r's happens to build a one
sided addset tree of N length, which ends up being 2^N performance.
This patch fixes it by converting to bool before or'ing.
This problem can be repro'd with something as simple as:
hg log `for x in $(seq 1 50) ; do echo "-r $x "; done`
Adding '1 + 2 + ... + 20' to the revsetbenchmark.txt didn't seem to repro the
problem, so I wasn't able to add a revset benchmark for this issue.
Matt Mackall <mpm@selenic.com> [Mon, 27 Oct 2014 23:47:41 -0500] rev 23099
tests: add missing glob for Windows
Matt Mackall <mpm@selenic.com> [Mon, 27 Oct 2014 18:44:05 -0500] rev 23098
test-convert-svn-sink: properly isolate symlink section
This was fixed earlier by moving all the symlink bits to a section to
the end of the file, but then it was broken (by the same person) by
adding more tests at the end.