Thu, 18 Feb 2016 08:52:15 +0000 run-tests: allow run-tests.py to run tests outside current directory
David R. MacIver <david@drmaciver.com> [Thu, 18 Feb 2016 08:52:15 +0000] rev 28180
run-tests: allow run-tests.py to run tests outside current directory When reloading tests, run-tests.py was assuming that it could look up the test by the basename, which only works if you are running tests which are in the current directory. This patch changes that lookup to use the full path. This is all that was needed, and does not appear to cause any problems for any of the existing testing work flows based on running the suggested commands at the top of run-tests.py. Motivation: In order to test Mercurial with Hypothesis (according to https://www.mercurial-scm.org/wiki/HypothesisPlan) it is useful to be able to generate temporary test files and execute them. Generating temporary files in the tests/ directory leads to a lot of suboptimal clutter.
Tue, 16 Feb 2016 14:49:29 +0000 histedit: unifying the way replacements are computed for abort and success
Kostia Balytskyi <ikostia@fb.com> [Tue, 16 Feb 2016 14:49:29 +0000] rev 28179
histedit: unifying the way replacements are computed for abort and success This is a part of a bigger refactoring effort with the ultimate goal of better understanding of how histedit works and fixing issue4800.
Fri, 12 Feb 2016 18:39:48 +0900 templater: factor out type conversion of revset() result
Yuya Nishihara <yuya@tcha.org> [Fri, 12 Feb 2016 18:39:48 +0900] rev 28178
templater: factor out type conversion of revset() result This makes it clear why we have to do repo[int(x)].
Fri, 12 Feb 2016 18:08:53 +0900 templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org> [Fri, 12 Feb 2016 18:08:53 +0900] rev 28177
templater: evaluate each item of revset() as integer revision Because templater.revset() returns a list of strings, repo["-1"] was mapped to the tipmost revision. Ideally, we should make revset() return a list of integer revisions, but it turned out not simple. If revset() is a list of integers, "{ifcontains(rev, revset(), ...)}" would fail because "ifcontains" casts "rev" to a string. So this patch just converts a string back to an integer revision.
Sat, 06 Feb 2016 19:16:12 +0900 demandimport: blacklist sqlalchemy.events as it has side effects (issue5085)
Yuya Nishihara <yuya@tcha.org> [Sat, 06 Feb 2016 19:16:12 +0900] rev 28176
demandimport: blacklist sqlalchemy.events as it has side effects (issue5085) Importing sqlalchemy.events cannot be delayed as it registers classes to their event mechanism. It worked fine before 4f1144c3c72b, since they use new-style imports. But now we have to blacklist it because our demandimport can handle new-style imports. This patch series isn't intended for stable as we don't guarantee API compatibility with 3rd-party extensions. They can temporarily disable the demand importer to work around the issue.
Sat, 06 Feb 2016 19:09:10 +0900 demandimport: enforce ignore list while processing modules in fromlist
Yuya Nishihara <yuya@tcha.org> [Sat, 06 Feb 2016 19:09:10 +0900] rev 28175
demandimport: enforce ignore list while processing modules in fromlist If a module is loaded as "from . import x" form, there has been no way to disable demand loading for that module because name is ''. This patch makes it possible to prevent demand loading by '<package-name>.x'. We don't use _hgextimport(_origimport) here since attr is known to be a sub-module name. Adding hgext_ to attr wouldn't make sense.
Mon, 15 Feb 2016 16:49:52 -0800 phases: use constants for phase values
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Feb 2016 16:49:52 -0800] rev 28174
phases: use constants for phase values Magic numbers hinder readability.
Wed, 20 Jan 2016 22:10:17 -0500 test-paths: fix up json output to match $TESTTMP on Windows
Matt Harbison <matt_harbison@yahoo.com> [Wed, 20 Jan 2016 22:10:17 -0500] rev 28173
test-paths: fix up json output to match $TESTTMP on Windows Without this, the paths were in the form "C:\\Users\\Matt\\AppData...". The test runner wouldn't collapse it down to $TESTTMP, which uses single backslashes.
Wed, 20 Jan 2016 21:56:37 -0500 test-obsolete: conditionalize a test dependent on chmod
Matt Harbison <matt_harbison@yahoo.com> [Wed, 20 Jan 2016 21:56:37 -0500] rev 28172
test-obsolete: conditionalize a test dependent on chmod
Wed, 17 Feb 2016 15:18:30 -0800 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com> [Wed, 17 Feb 2016 15:18:30 -0800] rev 28171
progress: display progress bar when HGPLAINEXCEPT contains "progress" This patch changes "progress.shouldprint()" so a feature name is provided to "ui.plain()" to determine if there is an exception specificed in HGPLAINEXCEPT for the progress extension. This will allow user-facing scripts to provide progress output while HGPLAIN is enabled.
Wed, 17 Feb 2016 19:38:44 +0000 run-tests: stop allocating HGPORT3+HGPORT4
timeless <timeless@mozdev.org> [Wed, 17 Feb 2016 19:38:44 +0000] rev 28170
run-tests: stop allocating HGPORT3+HGPORT4 The only consumer was test-treemanifest.t, which has been fixed. In general, you should be able to use killdaemons.py to recycle ports instead of going over 3 ports (HGPORT, HGPORT1, HGPORT2). In the future, if you want to add a port, be sure to change portneeded in _getport.
Wed, 17 Feb 2016 19:36:32 +0000 run-tests: refactor port allocation into functions
timeless <timeless@mozdev.org> [Wed, 17 Feb 2016 19:36:32 +0000] rev 28169
run-tests: refactor port allocation into functions Adding a port reservation was too hard and someone did it wrong. By refactoring, such reservations can be managed more safely. This also adds documentation so that the next person who tries is more likely to update all the places correctly. Note that in this commit the reservation and consumers do not match, that will be fixed in the next commit.
Wed, 17 Feb 2016 19:34:01 +0000 tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org> [Wed, 17 Feb 2016 19:34:01 +0000] rev 28168
tests: put test-treemanifest.t on a port diet test-treemanifest.t had introduced HGPORT3 and HGPORT4, which were improperly added to run-tests.py. It also was not using HGPORT1. This recycles HGPORT, and shifts everything into HGPORT1 + HGPORT2.
Wed, 17 Feb 2016 15:00:47 +0000 chg: pass sensitive command line flags to server
Jun Wu <quark@fb.com> [Wed, 17 Feb 2016 15:00:47 +0000] rev 28167
chg: pass sensitive command line flags to server We are going to make chgserver load repo config, remember what it is, and load repo config again to detect config change. This is the first step that passes config, repo, cwd options to server. Traceback is passed as well to cover errors before hitting chgserver.runcommand.
Wed, 17 Feb 2016 15:08:09 +0000 chg: use mallocx and reallocx in hgclient
Jun Wu <quark@fb.com> [Wed, 17 Feb 2016 15:08:09 +0000] rev 28166
chg: use mallocx and reallocx in hgclient This patch simplifies the code a bit, and reduces the binary size a little.
Wed, 17 Feb 2016 14:51:38 +0000 chg: add utility functions mallocx, reallocx
Jun Wu <quark@fb.com> [Wed, 17 Feb 2016 14:51:38 +0000] rev 28165
chg: add utility functions mallocx, reallocx They are like malloc and realloc but will abort the program on error. A lot of places use {m,re}alloc and check their results. This patch can simplify them.
(0) -10000 -3000 -1000 -300 -100 -16 +16 +100 +300 +1000 +3000 +10000 tip