Wed, 28 Sep 2016 20:39:06 +0900 py3: convert encoding name and mode to str
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:39:06 +0900] rev 30033
py3: convert encoding name and mode to str Otherwise tolocal() and fromlocal() wouldn't work on Python 3. Still tolocal() can't make a valid localstr object because localstr inherits str, but it can return some object without raising exceptions. Since Py3 bytes() behaves much like bytearray() than str() of Py2, we can't simply do s/str/bytes/g. I have no good idea to handle str/bytes divergence.
Wed, 28 Sep 2016 22:32:09 +0900 pycompat: extract function that converts attribute or encoding name to str
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 22:32:09 +0900] rev 30032
pycompat: extract function that converts attribute or encoding name to str This will be used to convert encoding.encoding to a str acceptable by Python 3 functions. The source encoding is changed to "latin-1" because encoding.encoding can have arbitrary bytes. Since valid names should consist of ASCII characters, we don't care about the mapping of non-ASCII characters so long as invalid names are distinct from valid names.
Sat, 01 Oct 2016 15:00:23 -0400 Added signature for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:23 -0400] rev 30031
Added signature for changeset 149433e68974
Wed, 28 Sep 2016 20:01:23 +0900 pycompat: provide 'ispy3' constant
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:01:23 +0900] rev 30030
pycompat: provide 'ispy3' constant We compare version_info at several places, which seems enough to define a constant.
Sat, 01 Oct 2016 15:00:18 -0400 Added tag 3.9.2 for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:18 -0400] rev 30029
Added tag 3.9.2 for changeset 149433e68974
Fri, 30 Sep 2016 00:27:35 +0200 extensions: add a note about debug output during extensions search
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Sep 2016 00:27:35 +0200] rev 30028
extensions: add a note about debug output during extensions search These messages do not show up when one use '--debug'. This is quite confusing so we clarify the situation next to the 'ui.debug' call.
Fri, 30 Sep 2016 00:25:15 +0200 extensions: fix a debug message when searching for extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Sep 2016 00:25:15 +0200] rev 30027
extensions: fix a debug message when searching for extensions The "next" value was wrong. When 'hgext.NAME' is not found we now search for 'hgext3rd.NAME'.
Tue, 30 Aug 2016 15:16:28 -0700 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com> [Tue, 30 Aug 2016 15:16:28 -0700] rev 30026
dirstate: rebuild should update dirstate properly Updating dirstate by simply adding and dropping files from self._map doesn't keep the other maps updated (think: _dirs, _copymap, _foldmap, _nonormalset) thus introducing cache inconsistency. This is also affecting the debugstate tests since now we don't even try to set correct mode and mtime for the files because they are marked dirty anyway and will be checked during next status call.
Tue, 27 Sep 2016 22:09:28 -0700 histedit: avoid converting nodeid to context and back again
Martin von Zweigbergk <martinvonz@google.com> [Tue, 27 Sep 2016 22:09:28 -0700] rev 30025
histedit: avoid converting nodeid to context and back again It looks like this became unnecessary in e767f5aba810 (histedit: fix preventing strips during histedit, 2015-04-04).
Tue, 13 Sep 2016 22:58:12 -0400 help: mark boolean flags with [no-] to explain that they can be negated
Augie Fackler <augie@google.com> [Tue, 13 Sep 2016 22:58:12 -0400] rev 30024
help: mark boolean flags with [no-] to explain that they can be negated That is, help gets tweaked thus: global options ([+] can be repeated): -v --[no-]verbose enable additional output Other proposals have included: global options ([+] can be repeated, options marked [?] are boolean flags): -v --verbose[?] enable additional output and global options ([+] can be repeated, options marked [^] are boolean flags): -v --verbose[^] enable additional output which avoid the unfortunate visual noise in this patch. In this version's favor, it's consistent with what I'm used to seeing in man pages and similar documentation venues.
Tue, 27 Sep 2016 14:46:34 +0200 mdiff: remove unused parameter 'refine' from allblocks()
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 27 Sep 2016 14:46:34 +0200] rev 30023
mdiff: remove unused parameter 'refine' from allblocks()
Mon, 26 Sep 2016 23:28:57 +0900 demandimport: error out early on missing attribute of non package (issue5373)
Yuya Nishihara <yuya@tcha.org> [Mon, 26 Sep 2016 23:28:57 +0900] rev 30022
demandimport: error out early on missing attribute of non package (issue5373) If the parent module isn't a package, all valid attributes must be obtained from it. We can raise ImportError early if any attributes not found.
Tue, 27 Sep 2016 21:56:00 +0900 demandimport: add 'nt' to ignore list (issue5373)
Yuya Nishihara <yuya@tcha.org> [Tue, 27 Sep 2016 21:56:00 +0900] rev 30021
demandimport: add 'nt' to ignore list (issue5373) pathlib2 tries to import nt. Since it is a built-in module, there should be no performance penalty. https://github.com/mcmtroffaes/pathlib2/blob/release/2.2.0/pathlib2.py#L33
Tue, 27 Sep 2016 22:36:00 +0900 demandimport: add '_ctypes.pointer' to ignore list on PyPy
Yuya Nishihara <yuya@tcha.org> [Tue, 27 Sep 2016 22:36:00 +0900] rev 30020
demandimport: add '_ctypes.pointer' to ignore list on PyPy The pointer module is shadowed by a subsequent import. Our demand importer can't handle this because both sub modules and attributes live in the same namespace. https://bitbucket.org/pypy/pypy/src/release-5.0.1/lib_pypy/_ctypes/__init__.py#__init__.py-5
Mon, 26 Sep 2016 16:12:40 +0800 hgweb: make anchor name actually match its href on help index page
Anton Shestakov <av6@dwimlabs.net> [Mon, 26 Sep 2016 16:12:40 +0800] rev 30019
hgweb: make anchor name actually match its href on help index page
Sat, 24 Sep 2016 12:22:30 -0700 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Sep 2016 12:22:30 -0700] rev 30018
perf: add perfchangegroupchangelog command This command can be used for testing the performance of producing the changelog portion of a changegroup. We could use additional perf* commands for testing other parts of changegroup. Those can be written another time, when they are needed. (And those may want to refactor the changegroup generation API so code can be reused.) Speaking of code reuse, yes, this command does reinvent a small wheel. I didn't want to scope bloat to change the changegroup API because that will invite bikeshedding.
Sat, 24 Sep 2016 10:44:37 -0700 perf: add --reverse to perfrevlog
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Sep 2016 10:44:37 -0700] rev 30017
perf: add --reverse to perfrevlog It can be useful to know how fast we can read revisions from a revlog in reverse. This operation tends to occur in `hg log` commands, for example.
Sat, 24 Sep 2016 19:58:23 +0900 log: copy the way of ancestor traversal to --follow matcher (issue5376)
Yuya Nishihara <yuya@tcha.org> [Sat, 24 Sep 2016 19:58:23 +0900] rev 30016
log: copy the way of ancestor traversal to --follow matcher (issue5376) We can't use fctx.linkrev() because follow() revset tries hard to simulate the traversal of changelog DAG, not filelog DAG. This patch fixes _makefollowlogfilematcher() to walk file ancestors in the same way as revset._follow(). I'll factor out a common function in future patches.
Sat, 24 Sep 2016 19:52:02 +0900 log: unroll loop that populates file paths for --patch --follow matcher
Yuya Nishihara <yuya@tcha.org> [Sat, 24 Sep 2016 19:52:02 +0900] rev 30015
log: unroll loop that populates file paths for --patch --follow matcher We can't handle the first fctx in the same manner as its ancestors. Also, I think the original code was too tricky.
Sun, 25 Sep 2016 12:20:31 -0700 wireproto: rename argument to groupchunks()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 25 Sep 2016 12:20:31 -0700] rev 30014
wireproto: rename argument to groupchunks() groupchunks() is a generic "turn a file object into a generator" function. It isn't limited to changegroups. Rename the argument and update the docstring to reflect this.
Sun, 25 Sep 2016 13:20:55 -0700 tests: actually test non-generaldelta variant for stream clones
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 25 Sep 2016 13:20:55 -0700] rev 30013
tests: actually test non-generaldelta variant for stream clones 608cabec1b15 accidentally made both tests test generaldelta repos. Restore the test for a non-gd repo.
Wed, 24 Aug 2016 20:18:58 -0700 revlog: document high frequency of code execution
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 24 Aug 2016 20:18:58 -0700] rev 30012
revlog: document high frequency of code execution Recording my notes while working on performance optimization.
Wed, 24 Aug 2016 20:00:52 -0700 revlog: make code in builddelta() slightly easier to read
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 24 Aug 2016 20:00:52 -0700] rev 30011
revlog: make code in builddelta() slightly easier to read self.compress() is destructured into its components. "l" is renamed to "deltalen."
Fri, 23 Sep 2016 14:37:15 -0400 py3: update test expectation on stable stable 3.9.2
Augie Fackler <augie@google.com> [Fri, 23 Sep 2016 14:37:15 -0400] rev 30010
py3: update test expectation on stable
Fri, 23 Sep 2016 12:45:10 -0500 grep: rewrite help to better document current (confusing) behavior stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Fri, 23 Sep 2016 12:45:10 -0500] rev 30009
grep: rewrite help to better document current (confusing) behavior
Fri, 23 Sep 2016 08:15:05 +0000 templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com> [Fri, 23 Sep 2016 08:15:05 +0000] rev 30008
templates: add built-in files() function We already support multiple primitive for listing files, which were affected by the current changeset. This patch adds files() which returns files of the current changeset matching a given pattern or fileset query via the "set:" prefix.
Sat, 17 Sep 2016 17:02:56 +1000 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org> [Sat, 17 Sep 2016 17:02:56 +1000] rev 30007
rebase: rebase changesets in topo order (issue5370) (BC) There are two reasons that rebase should be done this way: 1. This would make rebasing faster because it would minimize the total number of files to be checked out in the process, as it don't need to switch back and forth between branches. 2. It makes resolving conflicts easier as user has a better context. This commit changes the behavior in "Test multiple root handling" of test-rebase-obsolete.t. It is an expected change which reflects the new behavior that commits in a branch are grouped together when rebased.
Thu, 22 Sep 2016 12:36:30 -0700 dispatch: make hg --profile wrap reposetup
Arun Kulshreshtha <kulshrax@fb.com> [Thu, 22 Sep 2016 12:36:30 -0700] rev 30006
dispatch: make hg --profile wrap reposetup Move profiling.maybeprofile() from _runcommand to _dispatch() so that profiler output will include reposetup.
Thu, 22 Sep 2016 12:19:48 -0700 dispatch: change indentation level in _dispatch()
Arun Kulshreshtha <kulshrax@fb.com> [Thu, 22 Sep 2016 12:19:48 -0700] rev 30005
dispatch: change indentation level in _dispatch() Add an if True: placeholder for a profiling context manager that will be added in the next commit, for the purpose of reducing size of the diff due to trivial indentation changes. This change should be a no-op.
Thu, 22 Sep 2016 20:59:24 +0900 log: drop outdated optimization to walk revisions in reverse order
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Sep 2016 20:59:24 +0900] rev 30004
log: drop outdated optimization to walk revisions in reverse order Since revset is computed lazily, there would be no (or little) benefit to reverse 'revs' temporarily.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip