Matt Harbison <matt_harbison@yahoo.com> [Wed, 20 Jan 2016 21:56:37 -0500] rev 28172
test-obsolete: conditionalize a test dependent on chmod
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.
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.
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.
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.
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.
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.
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.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Feb 2016 13:20:20 -0800] rev 28164
localrepo: move new repo requirements into standalone function (API)
This patch extracts the code for determining requirements for a new
repo into a standalone function. By doing so, future code that will
perform an in-place repository upgrade (e.g. to generaldelta) can
examine the set of proposed new requirements and possibly take
additional actions (such as adding dotencode or fncache) when
performing the upgrade.
This patch is marked as API because _baserequirements (which was added
in b090601a80d1 so extensions could override it) has been removed and
will presumably impact whatever extension it was added for. Consumers
should be able to monkeypatch the new function to achieve the same
functionality.
The "create" argument has been dropped because the function is only
called in one location and "create" is always true in that case.
While it makes logical sense for this code to be a method so extensions
can implement a custom repo class / method to override it, this won't
actually work. This is because requirements determination occurs during
localrepository.__init__ and this is before the "reposetup"
"callback" is fired. So, the only way for extensions to customize
requirements would be to overwrite localrepo.localrepository or to
monkeypatch a function on a module during extsetup(). Since we try to
keep localrepository small, we use a standalone function. There is
probably room to offer extensions a "hook" point to alter repository
creation. But that is scope bloat.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Feb 2016 13:19:07 -0800] rev 28163
localrepo: isolate requirements determination from side effects
In preparation for moving requirements determination to its own
function.