Sun, 05 Nov 2017 21:22:07 +0900 subrepo: add config option to reject any subrepo operations (SEC) stable
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Nov 2017 21:22:07 +0900] rev 34985
subrepo: add config option to reject any subrepo operations (SEC) This is an alternative workaround for the issue5730. Perhaps this is the simplest way of disabling subrepo operations. It does nothing clever, but just aborts if Mercurial starts accessing to a subrepo. I think Greg's patch is more useful since it allows us to at least check out the parent repository. However, that would be confusing if the default is flipped to checkout=False and subrepos are silently ignored. I don't like the config name 'allowed', but I couldn't get any better name.
Fri, 03 Nov 2017 20:12:50 +0900 subrepo: disallow symlink traversal across subrepo mount point (SEC) stable
Yuya Nishihara <yuya@tcha.org> [Fri, 03 Nov 2017 20:12:50 +0900] rev 34984
subrepo: disallow symlink traversal across subrepo mount point (SEC) It wasn't easy to extend the pathauditor to check symlink traversal across subrepos because pathauditor._checkfs() rejects a directory having ".hg" directory. That's why I added the explicit islink() check. No idea if this patch is necessary after we've fixed the issue5730 by splitting submerge() into planning and execution phases.
Fri, 03 Nov 2017 19:17:25 +0900 tests: show symlink traversal across subrepo mount point (SEC) stable
Yuya Nishihara <yuya@tcha.org> [Fri, 03 Nov 2017 19:17:25 +0900] rev 34983
tests: show symlink traversal across subrepo mount point (SEC) Also adds a couple of tests where the auditor does work as expected.
Mon, 06 Nov 2017 10:33:40 -0800 share: move config item declarations into core stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 06 Nov 2017 10:33:40 -0800] rev 34982
share: move config item declarations into core These config items control share behavior that is implemented in core. Since the functionality is implemented in core, extensions may leverage it. Mozilla has one such extension. And, it needs to access share.pool. Before this patch, a devel warning regarding accessing an unregistered config option would be issued unless the share extension were loaded. Moving the registration of the config options to core fixes this.
Sat, 04 Nov 2017 23:39:54 -0400 morestatus: don't crash with different drive letters for repo.root and CWD stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 04 Nov 2017 23:39:54 -0400] rev 34981
morestatus: don't crash with different drive letters for repo.root and CWD Previously, if there were unresolved files and the CWD drive was different from the repo drive, `hg status -v` would page the normal status, followed by the exception header. A stacktrace was waiting when the pager exited. The underlying cause was the same as f445b10dc7fb. Unfortunately, I don't see any reasonable way to write a test this [1]. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-November/107401.html
Fri, 03 Nov 2017 22:22:50 -0400 pathutil: add doctests for canonpath() stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 03 Nov 2017 22:22:50 -0400] rev 34980
pathutil: add doctests for canonpath() This is a followup to f445b10dc7fb. Since there's no way to ensure that more drive letters than C: exist, this seems like the only way to test it. This is enough to catch the f445b10dc7fb scenario, as well as CWD outside of the repo when the path isn't prefixed with path/to/repo.
Thu, 02 Nov 2017 23:55:09 -0400 share: handle --relative shares to a different drive letter gracefully stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Nov 2017 23:55:09 -0400] rev 34979
share: handle --relative shares to a different drive letter gracefully This had the same problem as f445b10dc7fb. Banning os.path.relpath() is tempting, but the hint it provides is useful here.
Mon, 23 Oct 2017 00:02:46 +0530 py3: handle keyword arguments in hgext/gpg.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Oct 2017 00:02:46 +0530] rev 34978
py3: handle keyword arguments in hgext/gpg.py Differential Revision: https://phab.mercurial-scm.org/D1303
Mon, 23 Oct 2017 00:02:28 +0530 py3: handle keyword arguments in hgext/fetch.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Oct 2017 00:02:28 +0530] rev 34977
py3: handle keyword arguments in hgext/fetch.py Differential Revision: https://phab.mercurial-scm.org/D1302
Mon, 23 Oct 2017 00:02:07 +0530 py3: handle keyword arguments in hgext/extdiff.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Oct 2017 00:02:07 +0530] rev 34976
py3: handle keyword arguments in hgext/extdiff.py Differential Revision: https://phab.mercurial-scm.org/D1301
Mon, 23 Oct 2017 00:01:45 +0530 py3: handle keyword arguments in hgext/commitextras.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Oct 2017 00:01:45 +0530] rev 34975
py3: handle keyword arguments in hgext/commitextras.py Differential Revision: https://phab.mercurial-scm.org/D1300
Mon, 23 Oct 2017 00:01:16 +0530 py3: handle keyword arguments in hgext/churn.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Oct 2017 00:01:16 +0530] rev 34974
py3: handle keyword arguments in hgext/churn.py Differential Revision: https://phab.mercurial-scm.org/D1299
Sun, 22 Oct 2017 23:53:10 +0530 py3: handle keyword arguments in hgext/children.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Oct 2017 23:53:10 +0530] rev 34973
py3: handle keyword arguments in hgext/children.py Differential Revision: https://phab.mercurial-scm.org/D1298
Sun, 22 Oct 2017 23:52:47 +0530 py3: handle keyword arguments in hgext/blackbox.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Oct 2017 23:52:47 +0530] rev 34972
py3: handle keyword arguments in hgext/blackbox.py Differential Revision: https://phab.mercurial-scm.org/D1297
Sun, 22 Oct 2017 23:52:22 +0530 py3: handle keyword arguments in hgext/automv.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Oct 2017 23:52:22 +0530] rev 34971
py3: handle keyword arguments in hgext/automv.py Differential Revision: https://phab.mercurial-scm.org/D1296
Sun, 22 Oct 2017 23:51:57 +0530 py3: handle keyword arguments in hgext/amend.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Oct 2017 23:51:57 +0530] rev 34970
py3: handle keyword arguments in hgext/amend.py Differential Revision: https://phab.mercurial-scm.org/D1295
Thu, 19 Oct 2017 23:13:57 +0900 run-tests: allow automatic test discovery when providing folder as argument
Matthieu Laneuville <matthieu.laneuville@octobus.net> [Thu, 19 Oct 2017 23:13:57 +0900] rev 34969
run-tests: allow automatic test discovery when providing folder as argument Currently `run-tests.py` automatically discovers test only in the current directory if no argument is provided. This patch makes it possible to pass a number of tests and folders as arguments.
Fri, 03 Nov 2017 14:47:37 +0100 revert: do not reverse hunks in interactive when REV is not parent (issue5096)
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 03 Nov 2017 14:47:37 +0100] rev 34968
revert: do not reverse hunks in interactive when REV is not parent (issue5096) And introduce a new "apply" operation verb for this case as suggested in issue5096. This replaces the no longer used "revert" operation. In interactive revert, when reverting to something else that the parent revision, display an "apply this change" message with a diff that is not reversed. The rationale is that `hg revert -i -r REV` will show hunks of the diff from the working directory to REV and prompt the user to select them for applying (to working directory). This contradicts dcc56e10c23b in which it was decided to have the "direction" of prompted hunks reversed. Later on [1], there was a broad consensus (but no decision) towards the "as to be applied direction". Now that --interactive is no longer experimental (5910db5d1913), it's time to switch and thus we drop no longer used "experimental.revertalternateinteractivemode" configuration option. [1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-November/090142.html .. feature:: When interactive revert is run against a revision other than the working directory parent, the diff shown is the diff to *apply* to the working directory, rather than the diff to *discard* from the working copy. This is in line with related user experiences with `git` and appears to be less confusing with `ui.interface=curses`.
Fri, 03 Nov 2017 10:32:38 -0500 merge with stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Fri, 03 Nov 2017 10:32:38 -0500] rev 34967
merge with stable
Fri, 03 Nov 2017 21:14:57 +0900 run-tests: endswith takes bytes as argument in python3, not str
Matthieu Laneuville <matthieu.laneuville@octobus.net> [Fri, 03 Nov 2017 21:14:57 +0900] rev 34966
run-tests: endswith takes bytes as argument in python3, not str
Thu, 02 Nov 2017 20:35:31 -0400 pathutil: use util.pathto() to calculate relative cwd in canonpath() stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Nov 2017 20:35:31 -0400] rev 34965
pathutil: use util.pathto() to calculate relative cwd in canonpath() os.path.relpath() exploded if the 'root' and 'cwd' directories had different drive letters. I noticed this in TortoiseHg when typing a fileset into the filter, and it kept complaining until the closing '()' was typed. This was reproducible on the command line with: $ cd /d $ hg -R /c/Users/Matt/Projects/hg files 'set:e' Traceback (most recent call last): ... File "mercurial\pathutil.pyc", line 182, in canonpath File "ntpath.pyc", line 529, in relpath ValueError: path is on drive c:, start on drive d:
Sat, 21 Oct 2017 16:50:57 +0900 patch: improve heuristics to not take the word "diff" as header (issue1879)
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Oct 2017 16:50:57 +0900] rev 34964
patch: improve heuristics to not take the word "diff" as header (issue1879) The word "diff" is likely to appear in a commit message. Let's make it less likely by requiring "diff -" for "diff -r" or "diff --git".
Sat, 21 Oct 2017 17:01:20 +0900 rebase: drop --style option
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Oct 2017 17:01:20 +0900] rev 34963
rebase: drop --style option It existed from the very start, but I don't think the rebase command does support log-like templates.
Wed, 02 Aug 2017 13:27:45 +0900 run-tests: $TESTDIR can be something else than $PWD
Matthieu Laneuville <matthieu.laneuville@octobus.net> [Wed, 02 Aug 2017 13:27:45 +0900] rev 34962
run-tests: $TESTDIR can be something else than $PWD $TESTDIR is expected to be the directory were the test lives, and is often used to reference helper functions. However, it is now set to $PWD at test invocation time, so if `run-tests.py` is called from another folder, the test will fail. The solution is to force $TESTDIR to be the base directory of the test itself, irrespective of where the runner is called from.
Wed, 01 Nov 2017 17:08:33 +0100 obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net> [Wed, 01 Nov 2017 17:08:33 +0100] rev 34961
obsolete: activate effect-flag by default Let's activate effect-flag by default as Evolve is experimental and in order to gather feedback from users.
Mon, 30 Oct 2017 17:09:29 +0100 debug: print parsed bundle2 capabilities with debugcapabilities
Boris Feld <boris.feld@octobus.net> [Mon, 30 Oct 2017 17:09:29 +0100] rev 34960
debug: print parsed bundle2 capabilities with debugcapabilities The bundle2 capabilities are hard to read in their encoded form. We parse and print them in a human friendly way.
Mon, 30 Oct 2017 17:08:16 +0100 debug: add a debugcapabilities commands
Boris Feld <boris.feld@octobus.net> [Mon, 30 Oct 2017 17:08:16 +0100] rev 34959
debug: add a debugcapabilities commands This new debugcommand prints the capabilities of any remote in a human friendly way. Improved bundle2 capabilities support will be introduced in the next changesets.
Mon, 30 Oct 2017 17:46:07 -0400 revert: no longer mark --interactive as experimental
Augie Fackler <augie@google.com> [Mon, 30 Oct 2017 17:46:07 -0400] rev 34958
revert: no longer mark --interactive as experimental We seem to have settled down on behavior changes here (nothing matching revset `keyword(revert) and keyword(interactive)` since 4.2 was released), so let's go ahead and advertise this excellent feature. .. feature:: revert --interactive The revert command now accepts the flag --interactive to allow reverting only some of the changes to the specified files.
Wed, 25 Oct 2017 23:01:54 -0400 ui: add configlist doctest to document a bit more of the whitespace behavior
Augie Fackler <augie@google.com> [Wed, 25 Oct 2017 23:01:54 -0400] rev 34957
ui: add configlist doctest to document a bit more of the whitespace behavior I'm surprised this wasn't explicitly tested, so I added a test.
Wed, 01 Nov 2017 17:19:45 -0500 merge stable into default
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 01 Nov 2017 17:19:45 -0500] rev 34956
merge stable into default
Wed, 01 Nov 2017 16:54:39 -0500 Added signature for changeset 0ccb43d4cf01 stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 01 Nov 2017 16:54:39 -0500] rev 34955
Added signature for changeset 0ccb43d4cf01
Wed, 01 Nov 2017 16:54:38 -0500 Added tag 4.4 for changeset 0ccb43d4cf01 stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 01 Nov 2017 16:54:38 -0500] rev 34954
Added tag 4.4 for changeset 0ccb43d4cf01
Wed, 01 Nov 2017 14:22:26 -0700 test-dispatch: stabilize the test stable 4.4
Jun Wu <quark@fb.com> [Wed, 01 Nov 2017 14:22:26 -0700] rev 34953
test-dispatch: stabilize the test When cwd is removed and `hg` is executed, some shells may run `getcwd` before forking and executing, some may not do it, some may print a different error message. The test should be shell-independent so let's just avoid checking the error message. Differential Revision: https://phab.mercurial-scm.org/D1282
Wed, 01 Nov 2017 15:34:22 -0500 internals: update test-help.t for config registrar copy-edit stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 01 Nov 2017 15:34:22 -0500] rev 34952
internals: update test-help.t for config registrar copy-edit
Wed, 01 Nov 2017 13:24:08 -0500 internals: copy-edit "register" -> "registrar" in configitem docs stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 01 Nov 2017 13:24:08 -0500] rev 34951
internals: copy-edit "register" -> "registrar" in configitem docs
Wed, 01 Nov 2017 16:07:33 -0400 merge with i18n stable
Augie Fackler <augie@google.com> [Wed, 01 Nov 2017 16:07:33 -0400] rev 34950
merge with i18n
Wed, 01 Nov 2017 08:31:16 -0200 i18n-pt_BR: synchronized with cab34bda259e stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 Nov 2017 08:31:16 -0200] rev 34949
i18n-pt_BR: synchronized with cab34bda259e
Tue, 31 Oct 2017 23:09:29 -0400 help: minor copy editing for grammar stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 31 Oct 2017 23:09:29 -0400] rev 34948
help: minor copy editing for grammar
Tue, 31 Oct 2017 22:37:30 +0900 configitems: relax warning about unwanted default value stable
Yuya Nishihara <yuya@tcha.org> [Tue, 31 Oct 2017 22:37:30 +0900] rev 34947
configitems: relax warning about unwanted default value The original condition was a bit harsh for extension authors since third-party extensions need to preserve compatibility with older Mercurial versions, where no defaults would be loaded from the configtable. So let's silence the warning if the given default value matches, which should be harmless.
Thu, 26 Oct 2017 11:07:06 -0700 filemerge: pass a default value to _toolstr (issue5718) stable
Kostia Balytskyi <ikostia@fb.com> [Thu, 26 Oct 2017 11:07:06 -0700] rev 34946
filemerge: pass a default value to _toolstr (issue5718) After a refactoring, _toolstr stopped having default="" as one of it's args, therefore when called without a default it returns None and not "". This causes concatenation to fail.
Tue, 31 Oct 2017 06:39:38 +0530 children: fix the log expansion of `hg children` in doc stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 31 Oct 2017 06:39:38 +0530] rev 34945
children: fix the log expansion of `hg children` in doc `hg log -r children()` returns `hg: parse error: missing argument`. Differential Revision: https://phab.mercurial-scm.org/D1269
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
Fri, 06 Oct 2017 06:48:43 -0700 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34884
merge: additional test cases to show merge-halting behavior In the previous patches, we allowed the user to specify that a merge process should be halted when a filemerge fails. This patch adds tests that show additional places this logic can be utilized -- via the options to do additional post-filemerge checks to determine if a file merge was successful. Differential Revision: https://phab.mercurial-scm.org/D952
Wed, 18 Oct 2017 04:31:46 +0530 rebase: add support to output nodechanges
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 18 Oct 2017 04:31:46 +0530] rev 34883
rebase: add support to output nodechanges This patch adds support to rebase to show the changes in node once the rebase is complete. This will be extremely helpful for automation purposes and editors such as Nuclide. The output is a dictionary of predecessor hash as key and a list of successors' hashes. The successors one is a list as there can be many successors for a single predecessor in case of split and it will good to have a generic output format. This patch adds tests for the same. A new file is created for the patch as existing files related to rebase has their own purpose and there will be more formatter support coming for rebase in next cycle. Thanks to Jun for suggesting to use fm.data(). Differential Revision: https://phab.mercurial-scm.org/D1173
Tue, 17 Oct 2017 13:20:25 -0700 ui: move request exit handlers to global state
Saurabh Singh <singhsrb@fb.com> [Tue, 17 Oct 2017 13:20:25 -0700] rev 34882
ui: move request exit handlers to global state Since the ui objects can be created with the 'load' class method, it is possible to lose the exit handlers information from the old ui instance. For example, running 'test-bad-extension.t' leads to this situation where chg creates a new ui instance which does not copy the exit handlers from the earlier ui instance. For exit handlers, which are special cases anyways, it probably makes sense to have a global state of the handlers. This would ensure that the exit handlers registered once are definitely executed at the end of the request. Test Plan: Ran all the tests without '--chg' option. This also fixes the 'test-bad-extension.t' with the '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1166
Wed, 18 Oct 2017 09:07:48 +0200 sparse-read: skip gaps too small to be worth splitting
Paul Morelle <paul.morelle@octobus.net> [Wed, 18 Oct 2017 09:07:48 +0200] rev 34881
sparse-read: skip gaps too small to be worth splitting Splitting at too small gaps might not be worthwhile. With this changeset, we stop considering splitting on too small gaps. The threshold is configurable. We arbitrarily pick 256K as a default value because it seems "okay". Further testing on various repositories and setups will be needed to tune it. The option name is 'experimental.sparse-read.min-gap-size`, and replaces `experimental.sparse-read.min-block-size` which is not used any more.
Wed, 18 Oct 2017 12:53:00 +0200 sparse-read: move from a recursive-based approach to a heap-based one
Boris Feld <boris.feld@octobus.net> [Wed, 18 Oct 2017 12:53:00 +0200] rev 34880
sparse-read: move from a recursive-based approach to a heap-based one The previous recursive approach was trying to optimise each read slice to have a good density. It had the tendency to over-optimize smaller slices while leaving larger hole in others. The new approach focuses on improving the combined density of all the reads, instead of the individual slices. It slices at the largest gaps first, as they reduce the total amount of read data the most efficiently. Another benefit of this approach is that we iterate over the delta chain only once, reducing the overhead of slicing long delta chains. On the repository we use for tests, the new approach shows similar or faster performance than the current default linear full read. The repository contains about 450,000 revisions with many concurrent topological branches. Tests have been run on two versions of the repository: one built with the current delta constraint, and the other with an unlimited delta span (using 'experimental.maxdeltachainspan=0') Below are timings for building 1% of all the revision in the manifest log using 'hg perfrevlogrevisions -m'. Times are given in seconds. They include the new couple of follow-up changeset in this series. delta-span standard unlimited linear-read 922s 632s sparse-read 814s 566s
Tue, 17 Oct 2017 22:55:33 -0400 subrepo: implement 'unshare' for Mercurial subrepos
Matt Harbison <matt_harbison@yahoo.com> [Tue, 17 Oct 2017 22:55:33 -0400] rev 34879
subrepo: implement 'unshare' for Mercurial subrepos I think there's a slight hole here in that a subrepo could be shared, removed from .hgsub, and then it's not part of context.substate (so not iterated over). But the push command has the same hole IIRC, and I think removing a subrepo is an edge case. The import hack is a copy/paste of subrepo.subrepo().
Tue, 17 Oct 2017 21:48:56 -0400 share: move the implementation of 'unshare' to the 'hg' module
Matt Harbison <matt_harbison@yahoo.com> [Tue, 17 Oct 2017 21:48:56 -0400] rev 34878
share: move the implementation of 'unshare' to the 'hg' module This will be used to setup unsharing subrepos. Usually cmdutil is used for this purpose. But the implementation needs hg.copystore(), and the hg module already imports cmdutil.
Tue, 17 Oct 2017 20:25:43 +0200 show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org> [Tue, 17 Oct 2017 20:25:43 +0200] rev 34877
show: use labelcset() template alias for work (and stack) views By reusing labelcset() template alias from map-cmdline.default we can now display obsolescence information in `hg show work/stack`.
Wed, 18 Oct 2017 12:19:53 -0500 phases: pass phase names to hooks instead of internal values
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 18 Oct 2017 12:19:53 -0500] rev 34876
phases: pass phase names to hooks instead of internal values
Wed, 18 Oct 2017 12:36:23 +0200 configitems: document the choice of using 'match' instead of 'search'
Boris Feld <boris.feld@octobus.net> [Wed, 18 Oct 2017 12:36:23 +0200] rev 34875
configitems: document the choice of using 'match' instead of 'search'
Wed, 18 Oct 2017 12:26:08 +0200 configitems: do not directly match generic items
Boris Feld <boris.feld@octobus.net> [Wed, 18 Oct 2017 12:26:08 +0200] rev 34874
configitems: do not directly match generic items Before this changesets, a literal '.*:foo$' config would match a registered '.*:foo$' generic. This is wrong since generic should be matched through regular exception only. This changeset fixes this problem. Thanks for to Yuya Nishihara for spotting the issue.
Wed, 18 Oct 2017 15:38:51 +0200 obsfate: fix obsfate_printer with empty date list
Boris Feld <boris.feld@octobus.net> [Wed, 18 Oct 2017 15:38:51 +0200] rev 34873
obsfate: fix obsfate_printer with empty date list When the list of dates is empty, `min` and `max` would raises a ValueError. Protect against this case by checking that the date list is not empty. I didn't add a test because I couldn't find a reproducing test case.
Tue, 17 Oct 2017 16:54:31 +0200 config: gather allowdivergence under the evolution namespace
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 16:54:31 +0200] rev 34872
config: gather allowdivergence under the evolution namespace Grouping all evolution related-config under the experimental.evolution namespace would helps the future migration outside [experimental]. Differential Revision: https://phab.mercurial-scm.org/D1155
Tue, 17 Oct 2017 15:57:56 +0200 config: remove stabilization.* aliases
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:57:56 +0200] rev 34871
config: remove stabilization.* aliases Stabilization config items were never part of a release, remove them now that we cleaned up the evolution related configuration. Differential Revision: https://phab.mercurial-scm.org/D1154
Tue, 17 Oct 2017 15:56:49 +0200 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:56:49 +0200] rev 34870
config: rename stabilization.track-operation We want to get rid of stabilization.* configuration, back out to the old configuration 'evolution.track-operation'. Differential Revision: https://phab.mercurial-scm.org/D1153
Tue, 17 Oct 2017 15:54:05 +0200 config: rename stabilization.bundle-obsmarker
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:54:05 +0200] rev 34869
config: rename stabilization.bundle-obsmarker We want to get rid of stabilization.* configuration, back out to the old configuration 'evolution.bundle-obsmarker'. Differential Revision: https://phab.mercurial-scm.org/D1152
Thu, 28 Sep 2017 21:07:58 +0100 config: use 'experimental.evolution.exchange'
Boris Feld <boris.feld@octobus.net> [Thu, 28 Sep 2017 21:07:58 +0100] rev 34868
config: use 'experimental.evolution.exchange' Extract 'experimental.evolution' = exchange as 'experimental.evolution.exchange'. We keep the new option in the 'experimental.evolution' namespace in order to stay coherent with other options ('experimental.evolution.bundle-obsmarker' and 'experimental.evolution.track-operation') ease the renaming as possibly 'evolution.exchange'. Differential Revision: https://phab.mercurial-scm.org/D1151
Thu, 28 Sep 2017 18:56:40 +0100 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net> [Thu, 28 Sep 2017 18:56:40 +0100] rev 34867
config: use 'experimental.evolution.allowunstable' Extract 'experimental.evolution' = allowunstable as 'experimental.evolution.allowunstable'. We keep the new option in the 'experimental.evolution' namespace in order to stay coherent with other options ('experimental.evolution.bundle-obsmarker' and 'experimental.evolution.track-operation') ease the renaming as possibly 'evolution.allowunstable'. Differential Revision: https://phab.mercurial-scm.org/D1150
Thu, 28 Sep 2017 18:19:06 +0100 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net> [Thu, 28 Sep 2017 18:19:06 +0100] rev 34866
config: use 'experimental.evolution.create-markers' Extract 'experimental.evolution' = createmarkers as 'experimental.evolution.createmarkers'. We keep the new option in the 'experimental.evolution' namespace in order to stay coherent with other options ('experimental.evolution.bundle-obsmarker' and 'experimental.evolution.track-operation') ease the renaming as possibly 'evolution.createmarkers'. Differential Revision: https://phab.mercurial-scm.org/D1149
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip