Sun, 29 Oct 2017 17:53:52 +0900 test-static-http: flush access log per request stable
Yuya Nishihara <yuya@tcha.org> [Sun, 29 Oct 2017 17:53:52 +0900] rev 34944
test-static-http: flush access log per request It appears that stderr is fully buffered on Windows. # no-check-commit because of log_message() function
Sat, 28 Oct 2017 17:23:52 +0900 statichttprepo: do not use platform path separator to build a URL stable
Yuya Nishihara <yuya@tcha.org> [Sat, 28 Oct 2017 17:23:52 +0900] rev 34943
statichttprepo: do not use platform path separator to build a URL It wouldn't work between Windows client and Unix server.
Tue, 24 Oct 2017 11:15:30 -0700 merge: disable path conflict checking by default (issue5716) stable
Siddharth Agarwal <sid0@fb.com> [Tue, 24 Oct 2017 11:15:30 -0700] rev 34942
merge: disable path conflict checking by default (issue5716) We shouldn't ship a severe perf regression in hg update for 4.4. Differential Revision: https://phab.mercurial-scm.org/D1223
Tue, 24 Oct 2017 11:14:38 -0700 merge: add a config option to disable path conflict checking stable
Siddharth Agarwal <sid0@fb.com> [Tue, 24 Oct 2017 11:14:38 -0700] rev 34941
merge: add a config option to disable path conflict checking We've found a severe perf regression in `hg update` caused by the path conflict checking code. The next patch will disable this by default. Differential Revision: https://phab.mercurial-scm.org/D1222
Fri, 20 Oct 2017 05:53:35 -0700 dirstate: clean up when restoring identical backups stable
Mark Thomas <mbthomas@fb.com> [Fri, 20 Oct 2017 05:53:35 -0700] rev 34940
dirstate: clean up when restoring identical backups When a dirstate backup is restored, it is possible that no actual changes to the dirstate have been made. In this case, the backup is still a hardlink to the original dirstate. Unfortunately, `os.rename` silently fails (nothing happens, and no error occurs) when `src` and `dst` are hardlinks to the same file. As a result, the backup is left lying around. Over time, these files accumulate. When restoring dirstate backups, check if the backup and the dirstate are the same file, and if so, just delete the backup. Differential Revision: https://phab.mercurial-scm.org/D1201
Fri, 20 Oct 2017 05:53:33 -0700 tests: add a test demonstrating failure to clean up dirstate backups stable
Mark Thomas <mbthomas@fb.com> [Fri, 20 Oct 2017 05:53:33 -0700] rev 34939
tests: add a test demonstrating failure to clean up dirstate backups Differential Revision: https://phab.mercurial-scm.org/D1200
Fri, 20 Oct 2017 23:01:56 -0400 tests: adjust hooks for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Oct 2017 23:01:56 -0400] rev 34938
tests: adjust hooks for Windows I'm not sure why these weren't working on Windows. The failures were generally in the style of: - remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: 1 -> 0 + remote: "phase-move: $HG_NODE: $HG_OLDPHASE -> $HG_PHASE" and - abort: pretxnclose-bookmark.force-forward hook exited with status 1 - [255] + abort: pretxnclose-bookmark.force-public hook exited with status 255 + [255] These failures originated in ee5f0d047b41::f6d17075608f.
Fri, 20 Oct 2017 21:29:15 -0400 test-log-linerange: open binary file in binary mode stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Oct 2017 21:29:15 -0400] rev 34937
test-log-linerange: open binary file in binary mode The '\n' characters were being translated on Windows, throwing off hg and git hashes, as well as the file content in the diff.
Thu, 19 Oct 2017 23:16:48 -0400 test-arbitraryfilectx: stabilize for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Oct 2017 23:16:48 -0400] rev 34936
test-arbitraryfilectx: stabilize for Windows Previously, the second last test (context.arbitraryfilectx(..)) returned True on Windows. I changed the repo setup sequence to import a patch, so that way the repo would have a proper symlink. That made the last test fail, since it is comparing files in wdir(), one of which is not the expected symlink. Apparently the (feature !) line matching doesn't work well with (no-eol), so I had to conditionalize the test instead of the output.
Sat, 28 Oct 2017 12:35:54 -0700 dirstate: remove excess attribute lookups for dirstate.status (issue5714) stable
Durham Goode <durham@fb.com> [Sat, 28 Oct 2017 12:35:54 -0700] rev 34935
dirstate: remove excess attribute lookups for dirstate.status (issue5714) A recent refactor added a layer of abstraction to the dirstate which makes doing things like 'foo in dirstate' now require some extra Python attribute lookups. This is causing a 100ms slow down in hg status for mozilla-central. The fix is to hoist the inner dict's functions onto the main class once the lazy loading it complete, as well as store the actual functions before doing the status loop (as is done for other such functions). In my testing, it seems to address the performance regression, but we'll need to see the perf run results to know for sure. Differential Revision: https://phab.mercurial-scm.org/D1257
Thu, 26 Oct 2017 16:15:36 -0700 dirstate: avoid reading the map when possible (issue5713) (issue5717) stable
Durham Goode <durham@fb.com> [Thu, 26 Oct 2017 16:15:36 -0700] rev 34934
dirstate: avoid reading the map when possible (issue5713) (issue5717) Before the recent refactor, we would not load the entire map until it was accessed. As part of the refactor, that got lost and even just trying to load the dirstate parents would load the whole map. This caused a perf regression (issue5713) and a regression with static http serving (issue5717). Making it lazy loaded again fixes both. Differential Revision: https://phab.mercurial-scm.org/D1253
Thu, 26 Oct 2017 16:15:31 -0700 dirstate: move clear onto dirstatemap class stable
Durham Goode <durham@fb.com> [Thu, 26 Oct 2017 16:15:31 -0700] rev 34933
dirstate: move clear onto dirstatemap class A future diff will move the lazy loading aspect of dirstate to the dirstatemap class. This means it requires a slightly different strategy of clearing than just reinstantiating the object (since just reinstantiating the object will lazily load the on disk data again later instead of remaining permanently empty). So let's give it it's own clear function. Differential Revision: https://phab.mercurial-scm.org/D1252
Fri, 27 Oct 2017 18:19:07 +0200 internal-doc: document the config register mechanism stable
Boris Feld <boris.feld@octobus.net> [Fri, 27 Oct 2017 18:19:07 +0200] rev 34932
internal-doc: document the config register mechanism This explains the various usage and feature of the config register introduced in Mercurial 4.3 and 4.4.
Fri, 27 Oct 2017 21:43:22 +0200 help: clarify the pre-txnclose-phase documentation stable
Boris Feld <boris.feld@octobus.net> [Fri, 27 Oct 2017 21:43:22 +0200] rev 34931
help: clarify the pre-txnclose-phase documentation Gregory Szorc requested some clarification.
Fri, 27 Oct 2017 21:35:34 +0200 internal-doc: document the 'phases' parameters to 'getbundle' stable
Boris Feld <boris.feld@octobus.net> [Fri, 27 Oct 2017 21:35:34 +0200] rev 34930
internal-doc: document the 'phases' parameters to 'getbundle' The getbundle wireprotocol method has some extended documentation. We update it with the next parameters introduced for binary phases.
Sat, 28 Oct 2017 00:00:05 -0400 status: update the help to indicate that clean files are not normally tersed stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 28 Oct 2017 00:00:05 -0400] rev 34929
status: update the help to indicate that clean files are not normally tersed The same applies to '?' if --quiet is used (or any of the other states if some of -marduic is specified), but I couldn't figure out how to express that clearly.
Fri, 27 Oct 2017 23:48:38 -0400 terse: split on repo separator instead of os.sep (issue5715) stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 27 Oct 2017 23:48:38 -0400] rev 34928
terse: split on repo separator instead of os.sep (issue5715) The paths being processed are from scmutil.status, and therefore normalized to '/' separators.
Thu, 26 Oct 2017 11:58:55 +0800 makefile: put format-c into .PHONY targets stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 26 Oct 2017 11:58:55 +0800] rev 34927
makefile: put format-c into .PHONY targets
Wed, 25 Oct 2017 21:58:03 +0900 statichttprepo: prevent loading dirstate over HTTP on node lookup (issue5717) stable
Yuya Nishihara <yuya@tcha.org> [Wed, 25 Oct 2017 21:58:03 +0900] rev 34926
statichttprepo: prevent loading dirstate over HTTP on node lookup (issue5717) This seems a bit hacky, but works well. There should be no reason that static-http repo had to load dirstate. Initially I tried to proxy os.stat() call through vfs so that statichttpvfs could hook it, but there wasn't a good error value which the statichttpvfs could return to get around the util.filestat issue.
Wed, 25 Oct 2017 21:21:42 +0900 test-static-http: show all files accessed over HTTP stable
Yuya Nishihara <yuya@tcha.org> [Wed, 25 Oct 2017 21:21:42 +0900] rev 34925
test-static-http: show all files accessed over HTTP This provides some confidence on files that should be loadable over HTTP. Hopefully it will prevent future bugs.
Wed, 25 Oct 2017 21:20:01 +0900 server: drop executable bit from daemon log file stable
Yuya Nishihara <yuya@tcha.org> [Wed, 25 Oct 2017 21:20:01 +0900] rev 34924
server: drop executable bit from daemon log file The logfile option was unused, so it was okay until now.
Mon, 23 Oct 2017 22:13:59 -0500 setup: filter out devel-warn messages from system hg stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Mon, 23 Oct 2017 22:13:59 -0500] rev 34923
setup: filter out devel-warn messages from system hg If we're going to use the user's installed and configured hg command (which we do since 8b20338b989e), we should prevent devel-warn messages from interfering with locating it.
Mon, 23 Oct 2017 21:30:59 -0500 setup: remove duplicate assignment of HGRCPATH stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Mon, 23 Oct 2017 21:30:59 -0500] rev 34922
setup: remove duplicate assignment of HGRCPATH HGRCPATH is already set in localhgenv().
Fri, 20 Oct 2017 13:54:51 -0500 packaging: update book URL in Mac and Windows READMEs stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Fri, 20 Oct 2017 13:54:51 -0500] rev 34921
packaging: update book URL in Mac and Windows READMEs
Mon, 23 Oct 2017 22:45:24 +0200 commands: be more uniform in an "hg update" error message stable
muxator <a.mux@inwind.it> [Mon, 23 Oct 2017 22:45:24 +0200] rev 34920
commands: be more uniform in an "hg update" error message "can only specify one of -C/--clean, -c/--check, or -m/merge" becomes "can only specify one of -C/--clean, -c/--check, or -m/--merge"
Wed, 04 Oct 2017 23:22:34 +0200 update: mention long options explicitly in description of merge.update() stable
muxator <a.mux@inwind.it> [Wed, 04 Oct 2017 23:22:34 +0200] rev 34919
update: mention long options explicitly in description of merge.update() The short options "-c" and "-C" may be confusing for a novice reading the documentation. Let's try to be more explicit, also mentioning the equivalent long options ("--check" and "--clean") in the comments.
Sat, 21 Oct 2017 13:42:43 +0900 mq: copy pager attributes back to qrepo.ui stable
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Oct 2017 13:42:43 +0900] rev 34918
mq: copy pager attributes back to qrepo.ui If the legacy pager extension is enabled, a pager is started through repo.ui at dispatch._runcommand(). After that, mqcommand() creates a qrepo with a fresh repo.baseui, at which point pager information was lost and another pager would be spawned by the modern pager interface. This is a minimal workaround for the problem.
Sat, 21 Oct 2017 13:13:20 +0900 registrar: host "dynamicdefault" constant by configitem object stable
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Oct 2017 13:13:20 +0900] rev 34917
registrar: host "dynamicdefault" constant by configitem object This is the common pattern seen in the other registrar classes.
Sat, 21 Oct 2017 13:04:58 +0900 configitems: register 'ui.editor' stable
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Oct 2017 13:04:58 +0900] rev 34916
configitems: register 'ui.editor'
Fri, 20 Oct 2017 14:15:46 -0700 help: fix typo in hg merge documentation stable
Joe Blaylock <jrbl@google.com> [Fri, 20 Oct 2017 14:15:46 -0700] rev 34915
help: fix typo in hg merge documentation
Fri, 20 Oct 2017 13:44:38 -0500 Added signature for changeset 1e2454b60e59 stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 20 Oct 2017 13:44:38 -0500] rev 34914
Added signature for changeset 1e2454b60e59
Fri, 20 Oct 2017 13:44:35 -0500 Added tag 4.4-rc for changeset 1e2454b60e59 stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 20 Oct 2017 13:44:35 -0500] rev 34913
Added tag 4.4-rc for changeset 1e2454b60e59
Sat, 05 Aug 2017 23:15:37 +0900 help: do not abort topicmatch() because of unimportable extensions stable 4.4-rc
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Aug 2017 23:15:37 +0900] rev 34912
help: do not abort topicmatch() because of unimportable extensions This is alternative workaround to D1198, originally spotted by the earlier version of the releasenotes extension.
Fri, 20 Oct 2017 22:25:09 +0900 configitems: register 'email.to' and 'patchbomb.to' stable
Yuya Nishihara <yuya@tcha.org> [Fri, 20 Oct 2017 22:25:09 +0900] rev 34911
configitems: register 'email.to' and 'patchbomb.to'
Thu, 19 Oct 2017 21:50:14 +0200 exchange: propagate the subfunctions return stable
Boris Feld <boris.feld@octobus.net> [Thu, 19 Oct 2017 21:50:14 +0200] rev 34910
exchange: propagate the subfunctions return The parts generator can return a callback to handle server reply. We should propagate the return for correctness.
Thu, 19 Oct 2017 15:15:05 -0500 merge default into stable for code freeze stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Thu, 19 Oct 2017 15:15:05 -0500] rev 34909
merge default into stable for code freeze # no-check-commit because default contains new vendored code
Thu, 19 Oct 2017 15:06:33 +0200 log: add an assertion about fctx not being None in patch.diff()
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 19 Oct 2017 15:06:33 +0200] rev 34908
log: add an assertion about fctx not being None in patch.diff() As noted in the comment, this should not happen as removed files (the cause of fctx2 being None) are caught earlier.
Thu, 19 Oct 2017 14:55:10 +0200 log: handle removed files with --line-range patterns
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 19 Oct 2017 14:55:10 +0200] rev 34907
log: handle removed files with --line-range patterns I.e. abort when the pattern corresponds to a removed file, as done with bare file patterns.
Thu, 19 Oct 2017 14:12:49 +0200 log: disable bare file patterns with --line-range
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 19 Oct 2017 14:12:49 +0200] rev 34906
log: disable bare file patterns with --line-range Currently, specifying both a line-range pattern and a bare file pattern results in an AND operation whereas we probably want an OR so that bare file patterns are like a line-range pattern with all lines specified. So, until this works as expected, we disable this.
Thu, 19 Oct 2017 12:37:26 +0200 log: switch to FROMLINE:TOLINE syntax for -L/--line-range
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 19 Oct 2017 12:37:26 +0200] rev 34905
log: switch to FROMLINE:TOLINE syntax for -L/--line-range This is more consistent with the followlines() revset.
Wed, 18 Oct 2017 19:00:33 +0200 log: handle binary files in --line-range patterns
Denis Laxalde <denis@laxalde.org> [Wed, 18 Oct 2017 19:00:33 +0200] rev 34904
log: handle binary files in --line-range patterns When a file is binary patch.trydiff() would yield None for 'hunkrange'. Handle this case in the hunksfilter() callback. Add tests with and without diff.git option as binary handling differs depending on this option's value.
Tue, 17 Oct 2017 22:46:08 +0200 build: build deb/rpm independently on config/extensions in the host system
muxator <a.mux@inwind.it> [Tue, 17 Oct 2017 22:46:08 +0200] rev 34903
build: build deb/rpm independently on config/extensions in the host system Reverts 5aac617a028d and replaces it with a more general solution. - works for both rpm and deb - sidesteps eventual problems with local extensions that have nothing to do with the build process (hg-git, for example, fails with version 4.4 because dedab036215d removed peerrepository, and hg-git still uses it as of 0.8.9)
Thu, 19 Oct 2017 17:50:20 +0200 config: also gather effect-flags on experimental.evolution
Boris Feld <boris.feld@octobus.net> [Thu, 19 Oct 2017 17:50:20 +0200] rev 34902
config: also gather effect-flags on experimental.evolution Effect-flags config was in flight while the previous evolve config renaming was written. Now that both landed, gather effect-flags in experimental.evolution like the others evolve-related configurations. Differential Revision: https://phab.mercurial-scm.org/D1197
Thu, 19 Oct 2017 12:33:53 +0200 obsfate: rename obsfate into obsolete in default mapfile
Boris Feld <boris.feld@octobus.net> [Thu, 19 Oct 2017 12:33:53 +0200] rev 34901
obsfate: rename obsfate into obsolete in default mapfile Like the previous patch, replace obsfate by obsolete in default mapfile. Differential Revision: https://phab.mercurial-scm.org/D1190
Thu, 19 Oct 2017 12:32:42 +0200 obsfate: rename obsfate into obsolete in changeset_printer
Boris Feld <boris.feld@octobus.net> [Thu, 19 Oct 2017 12:32:42 +0200] rev 34900
obsfate: rename obsfate into obsolete in changeset_printer Yuja's comment on the original obsfate about how we would translate obsfate and the recent discussions about exposing users to new concepts and names lead have led me to think that 'obsfate' should be treated as internal jargon. End- users should not be aware of obsfate, so we replace 'obsfate' by 'obsolete' in changeset_printer. It will be easier to understand for end-users, easier to translate and closer to the original Evolve obsfate output. I'm aware it's extremely late in the cycle but I think it's an UX improvement for the end-users. Differential Revision: https://phab.mercurial-scm.org/D1189
Thu, 19 Oct 2017 11:17:10 -0400 tests: add some (?) output lines to catch "helpful" output from Solaris diff
Augie Fackler <augie@google.com> [Thu, 19 Oct 2017 11:17:10 -0400] rev 34899
tests: add some (?) output lines to catch "helpful" output from Solaris diff Differential Revision: https://phab.mercurial-scm.org/D1196
Wed, 18 Oct 2017 15:28:19 +0200 sparse-read: ignore trailing empty revs in each read chunk
Paul Morelle <paul.morelle@octobus.net> [Wed, 18 Oct 2017 15:28:19 +0200] rev 34898
sparse-read: ignore trailing empty revs in each read chunk An empty entry in the revlog may happen for two reasons: - when the file is empty, and the revlog stores a snapshot; - when there is a merge and both parents were identical. `hg debugindex -m | awk '$3=="0"{print}' | wc -l` gives 1917 of such entries in my clone of pypy, and 113 on my clone of mercurial. These empty revision may be located at the end of a sparse chain, and in some special cases may lead to read relatively large amounts of data for nothing.
Wed, 18 Oct 2017 15:42:44 -0700 fsmonitor: use nonnormalset from dirstatemap
Jun Wu <quark@fb.com> [Wed, 18 Oct 2017 15:42:44 -0700] rev 34897
fsmonitor: use nonnormalset from dirstatemap `dirstate._nonnormalset` has been moved to `dirstate._map.nonnormalset` by 60927b19ed65 (dirstate: move nonnormal and otherparent sets to dirstatemap) and is guaranteed to be existed. Let's update fsmonitor code to use the new `nonnormalset`. Thix fixed a perf regression that slows down `hg status` by 0.5 seconds in one of our production repos. Differential Revision: https://phab.mercurial-scm.org/D1184
Wed, 18 Oct 2017 22:10:08 -0700 registrar: don't i18n ProgrammingError message
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Oct 2017 22:10:08 -0700] rev 34896
registrar: don't i18n ProgrammingError message Differential Revision: https://phab.mercurial-scm.org/D1188
Wed, 18 Oct 2017 22:07:53 -0700 registrar: move "constant" possiblecmdtypes to class level
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Oct 2017 22:07:53 -0700] rev 34895
registrar: move "constant" possiblecmdtypes to class level While at it, switch to set literal syntax. Differential Revision: https://phab.mercurial-scm.org/D1187
Wed, 18 Oct 2017 16:28:18 -0700 tests: de-flake test-run-tests.t's "--jobs=2 --first" test
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Oct 2017 16:28:18 -0700] rev 34894
tests: de-flake test-run-tests.t's "--jobs=2 --first" test Once in a while, test-nothing.t finished before test-failure.t or test-failure-copy.t (I haven't checked which one actually gets run first). Since there already are two tests that will fail in the same way, just run those two instead so the diff will be reproducible and not timing-dependent. The test case was added in 9a20f53e436f (run-tests: handle --jobs and --first gracefully, 2014-10-09), and I have checked that backing that out results in two failures being printed. Note that the summary may still include multiple tests even if --first is given, it's just that the diff is only printed for the first failure. Differential Revision: https://phab.mercurial-scm.org/D1186
Wed, 18 Oct 2017 18:30:02 -0400 cmdutil: fix status tersing on Python 3
Augie Fackler <augie@google.com> [Wed, 18 Oct 2017 18:30:02 -0400] rev 34893
cmdutil: fix status tersing on Python 3 Differential Revision: https://phab.mercurial-scm.org/D1183
Wed, 18 Oct 2017 18:29:17 -0400 hghave: fix clang-format check to use bytes regex
Augie Fackler <augie@google.com> [Wed, 18 Oct 2017 18:29:17 -0400] rev 34892
hghave: fix clang-format check to use bytes regex Fixes hghave on Python 3. Differential Revision: https://phab.mercurial-scm.org/D1182
Wed, 18 Oct 2017 18:29:00 -0400 configitems: make all regular expressions bytes and not native str
Augie Fackler <augie@google.com> [Wed, 18 Oct 2017 18:29:00 -0400] rev 34891
configitems: make all regular expressions bytes and not native str Fixes many tests on Python 3. Differential Revision: https://phab.mercurial-scm.org/D1181
Wed, 18 Oct 2017 18:11:50 -0400 convert: register missed subversion config items
Augie Fackler <augie@google.com> [Wed, 18 Oct 2017 18:11:50 -0400] rev 34890
convert: register missed subversion config items Should fix the build failures on the Solaris builders. Differential Revision: https://phab.mercurial-scm.org/D1180
Thu, 19 Oct 2017 03:20:47 +0530 amend: error out if the note is greater than 255bytes
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 19 Oct 2017 03:20:47 +0530] rev 34889
amend: error out if the note is greater than 255bytes In obsmarker we can't store keys and values of more than 255 bytes in metadata. If we try to do so, ProgrammingError is raised. The note flag to amend stores the note in obsmetadata. If a user will try to store a larger note, he will encounter ProgrammingError which is wrong. We must error out early. Thanks to Yuya for warning about this. Differential Revision: https://phab.mercurial-scm.org/D1179
Wed, 18 Oct 2017 15:05:03 -0700 show: move configitems to core
Jun Wu <quark@fb.com> [Wed, 18 Oct 2017 15:05:03 -0700] rev 34888
show: move configitems to core chgserver.py is also checking the config and will get: devel-warn: accessing unregistered config item: 'commands.show.aliasprefix' at: mercurial/chgserver.py:109 if the config is not registered. Differential Revision: https://phab.mercurial-scm.org/D1178
Wed, 18 Oct 2017 14:55:39 -0700 chgserver: do not treat HG as sensitive environ when CHGHG is set
Jun Wu <quark@fb.com> [Wed, 18 Oct 2017 14:55:39 -0700] rev 34887
chgserver: do not treat HG as sensitive environ when CHGHG is set When `$CHGHG` is set, `$HG` is ignored by the chg client. Removing it from chg's sensitive environment list would avoid starting up servers unnecessarily when `$CHGHG` is the same while `$HG` is different. Differential Revision: https://phab.mercurial-scm.org/D1177
Wed, 18 Oct 2017 22:54:50 +0200 fsmonitor: declare missing config options
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 18 Oct 2017 22:54:50 +0200] rev 34886
fsmonitor: declare missing config options These were added in 4aa57627692a. Attempting to run the test harness with fsmonitor enabled spews a whole bunch of devel warnings due to these options not be declared. Differential Revision: https://phab.mercurial-scm.org/D1176
Wed, 18 Oct 2017 22:57:15 +0200 fsmonitor: warn when fsmonitor could be used
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 18 Oct 2017 22:57:15 +0200] rev 34885
fsmonitor: warn when fsmonitor could be used fsmonitor can significantly speed up operations on large working directories. But fsmonitor isn't enabled by default, so naive users may not realize there is a potential to make Mercurial faster. This commit introduces a warning to working directory updates when fsmonitor could be used. The following conditions must be met: * Working directory is previously empty * New working directory adds >= N files (currently 50,000) * Running on Linux or MacOS * fsmonitor not enabled * Warning not disabled via config override Because of the empty working directory restriction, most users will only see this warning during `hg clone` (assuming very few users actually do an `hg up null`). The addition of a warning may be considered a BC change. However, clone has printed warnings before. Until recently, Mercurial printed a warning with the server's certificate fingerprint when it wasn't explicitly trusted for example. The warning goes to stderr. So it shouldn't interfere with scripts parsing meaningful output. The OS restriction was on the advice of Facebook engineers, who only feel confident with watchman's stability on the supported platforms. .. feature:: Print warning when fsmonitor isn't being used on a large repository Differential Revision: https://phab.mercurial-scm.org/D894
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip