Mon, 01 May 2017 16:36:50 +0200 pager: rename 'pager.enable' to 'ui.paginate' stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 16:36:50 +0200] rev 32104
pager: rename 'pager.enable' to 'ui.paginate' This aligns with what we do for color (see 7fec37746417). Pager is a central enough notion that having the master config in the [ui] section makes senses. It will helps with consistency, discoverability. It will also help having a simple and clear example hgrc mentioning pager. The previous form of the option had never been released in a non-rc version but we keep it around for convenience. If both are set, 'ui.pager' take priority.
Tue, 02 May 2017 20:19:09 +0200 color: special case 'always' in 'ui.color' stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 20:19:09 +0200] rev 32103
color: special case 'always' in 'ui.color' This lift the confusing case, where 'ui.color=always' would actually not always use color.
Tue, 02 May 2017 20:01:54 +0200 color: turn 'ui.color' into a boolean (auto or off) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 20:01:54 +0200] rev 32102
color: turn 'ui.color' into a boolean (auto or off) Previously, 'ui.color=yes' meant "always show color", While "ui.color=auto" meant "use color automatically when it appears sensible". This feels problematic to some people because if an administrator has disabled color with "ui.color=off", and a user turn it back on using "color=on", it will get surprised (because it breaks their output when redirected to a file.) This patch changes ui.color=true to only move the default value of --color from "never" to "auto". I'm not really in favor of this changes as I suspect the above case will be pretty rare and I would rather keep the logic simpler. However, I'm providing this patch to help the 4.2 release in the case were others decide to make this changes. Users that want to force colors without specifying --color on the command line can use the 'ui.formatted' config knob, which had to be enabled in a handful of tests for this patch. Nice summary table (credit: Augie Fackler) That is, before this patch: +--------------------+--------------------+--------------------+ | | not a tty | a tty | | | --color not set | --color not set | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color (not set) | no color | no color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = auto | no color | color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = yes | *color* | color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = no | no color | no color | | | | | +--------------------+--------------------+--------------------+ (if --color is specified, it always clobbers the setting in [ui]) and after this patch: +--------------------+--------------------+--------------------+ | | not a tty | a tty | | | --color not set | --color not set | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color (not set) | no color | no color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = auto | no color | color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = yes | *no color* | color | | | | | +--------------------+--------------------+--------------------+ | [ui] | | | | color = no | no color | no color | | | | | +--------------------+--------------------+--------------------+ (if --color is specified, it always clobbers the setting in [ui])
Mon, 01 May 2017 16:43:43 +0200 pager: document the 'pager.enable' option stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 16:43:43 +0200] rev 32101
pager: document the 'pager.enable' option The 'config' helps was missing help about pager enabling/disabling.
Mon, 01 May 2017 18:07:23 +0200 pager: advertise the config option in the default hgrc stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 18:07:23 +0200] rev 32100
pager: advertise the config option in the default hgrc Same as for 'ui.color', this is a critical part of the UI and we want user to find this config knob easily.
Mon, 01 May 2017 16:52:11 +0200 pager: document the 'pager' config section stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 16:52:11 +0200] rev 32099
pager: document the 'pager' config section There as a 'hg help pager' section but the 'hg help config.pager' was missing.
Mon, 01 May 2017 16:36:30 +0200 pager: test the 'enable' config option stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 16:36:30 +0200] rev 32098
pager: test the 'enable' config option While poking at this option I realised it was not tested.
Mon, 01 May 2017 15:51:57 +0200 config: drop pager from the recommended extension stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:51:57 +0200] rev 32097
config: drop pager from the recommended extension The extension is deprecated, we should having exposing it to users.
Mon, 01 May 2017 15:51:47 +0200 config: use "churn" as an example extension stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:51:47 +0200] rev 32096
config: use "churn" as an example extension "Churn" is not the useful example we have, but this is the one used in 'hg help config.extensions'. As we need something to replace the deprecated 'pager' extension in the example config, we are adding 'churn'.
Wed, 19 Apr 2017 23:10:05 +0900 discovery: prevent crash caused by prune marker having no parent data stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Apr 2017 23:10:05 +0900] rev 32095
discovery: prevent crash caused by prune marker having no parent data If a marker has no parent information, parents field is set to None, which caused TypeError. I think this shouldn't normally happen, but somehow I have such marker in my repo.
Mon, 01 May 2017 15:40:41 +0200 color: point to the global help in the example hgrc stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:40:41 +0200] rev 32094
color: point to the global help in the example hgrc This is probably the best way to have users learn more is they need too.
Mon, 01 May 2017 15:39:50 +0200 color: reflect the new default in the example hgrc stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:39:50 +0200] rev 32093
color: reflect the new default in the example hgrc Color is enabled by default so un-commenting the line would not have any effect. We'll point to the help in the next changeset.
Mon, 01 May 2017 15:38:57 +0200 color: point to the config help in global help topic stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:38:57 +0200] rev 32092
color: point to the config help in global help topic We point out at the help of the config option for user who wants to learn more about the possible config value. The suggested command returns some other extra (color related) results, but this is bug to fix outside of the freeze.
Mon, 01 May 2017 15:38:07 +0200 color: reflect the new default in global help topic stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:38:07 +0200] rev 32091
color: reflect the new default in global help topic We point out that color is enabled by default.
Mon, 01 May 2017 11:04:10 -0700 docs: describe ui.color consistently with --color stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 01 May 2017 11:04:10 -0700] rev 32090
docs: describe ui.color consistently with --color The --color option is described to accept "boolean, always, auto, never, or debug". Let's use a similar description for ui.color. Also fix the formatting to use double quotes as we seem to use for about half the values in config.txt (the other half uses double backticks). Also use uppercase Boolean for consistency within the file.
Mon, 01 May 2017 16:09:35 +0200 test: glob out variation from 'HGPORT' length stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 16:09:35 +0200] rev 32089
test: glob out variation from 'HGPORT' length On system where HGTEST_PORT is configured to a value an order a magnitude lower or higher than the default. The number of digit in the HGPORT changes and this test breaks.
Mon, 01 May 2017 19:59:13 +0900 lock: avoid unintentional lock acquisition at failure of readlock stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 19:59:13 +0900] rev 32088
lock: avoid unintentional lock acquisition at failure of readlock Acquiring lock by vfs.makelock() and getting lock holder (aka "locker") information by vfs.readlock() aren't atomic action. Therefore, failure of the former doesn't ensure success of the latter. Before this patch, lock is unintentionally acquired, if ENOENT causes failure of vfs.readlock() while 5 times retrying, because lock._trylock() returns to caller silently after retrying, and lock.lock() assumes that lock._trylock() returns successfully only if lock is acquired. In this case, lock symlink (or file) isn't created, even though lock is treated as acquired in memory. To avoid this issue, this patch makes lock._trylock() raise LockHeld(EAGAIN) at the end of it, if lock isn't acquired while retrying. An empty "locker" meaning "busy for frequent lock/unlock by many processes" might appear in an abortion message, if lock acquisition fails. Therefore, this patch also does: - use '%r' to increase visibility of "locker", even if it is empty - show hint message to explain what empty "locker" means
Mon, 01 May 2017 19:58:52 +0900 lock: avoid unintentional lock acquisition at failure of readlock stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 19:58:52 +0900] rev 32087
lock: avoid unintentional lock acquisition at failure of readlock Acquiring lock by vfs.makelock() and getting lock holder (aka "locker") information by vfs.readlock() aren't atomic action. Therefore, failure of the former doesn't ensure success of the latter. Before this patch, lock is unintentionally acquired, if self.parentlock is None (this is default value), and lock._readlock() returns None for ENOENT at vfs.readlock(), because these None are recognized as equal to each other. In this case, lock symlink (or file) isn't created, even though lock is treated as acquired in memory. To avoid this issue, this patch retries lock acquisition immediately, if lock._readlock() returns None "locker". This issue will be covered by a test added in subsequent patch, because simple emulation of ENOENT at vfs.readlock() easily causes another issue. "raising ENOENT only at the first vfs.readlock() invocation" is too complicated for unit test, IMHO.
Mon, 01 May 2017 05:52:36 +0900 httppeer: unify hint message for PeerTransportError stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:52:36 +0900] rev 32086
httppeer: unify hint message for PeerTransportError Another raising PeerTransportError for "incomplete response" in httppeer.py uses this (changed) hint message. This unification reduces cost of translation.
Mon, 01 May 2017 05:52:36 +0900 revset: add i18n comments to error messages for followlines predicate stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:52:36 +0900] rev 32085
revset: add i18n comments to error messages for followlines predicate This patch also includes un-quoting "descend" keyword for similarity to other error messages (this seems too trivial as a separated patch).
Mon, 01 May 2017 05:52:32 +0900 help: apply bulk fixes for indentation and literal blocking issues stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:52:32 +0900] rev 32084
help: apply bulk fixes for indentation and literal blocking issues There are some paragraphs, which aren't rendered in online help as expected because of indentation and literal blocking issues. - hgext/rebase.py - paragraph before example code ends with ":", which treats subsequent indented paragraphs as normal block => replace ":" with "::" to treat subsequent paragraphs as literal block - help/pager.txt - paragraph before a list of --pager option values ends with "::", which treats subsequent indented paragraphs as literal block => replace "::" with ":" to treat subsequent paragraphs as normal block - the second line of explanation for no/off --pager option value is indented incorrectly (this also causes failure of "make" in doc) => indent correctly - help/revisions.txt - explanation following example code of "[revsetalias]" section isn't suitable for literal block => un-indent explanation paragraph to treat it as normal block - indentation of "For example" before example of tag() revset predicate matching is meaningless - descriptive text for tag() revset predicate matching isn't suitable for literal block => un-indent concatenated two paragraphs to treat them as normal block
Mon, 01 May 2017 05:38:52 +0900 rebase: fix incorrect configuration example stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:38:52 +0900] rev 32083
rebase: fix incorrect configuration example This configuration example doesn't make rebase require a destination, even though help document wants to show such example.
Mon, 01 May 2017 05:38:52 +0900 help: use hg role of mini reST to make hyper link in HTML page stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:38:52 +0900] rev 32082
help: use hg role of mini reST to make hyper link in HTML page
Mon, 01 May 2017 05:35:57 +0900 help: use mercurial as a subject of colorization and pagination stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 May 2017 05:35:57 +0900] rev 32081
help: use mercurial as a subject of colorization and pagination Now, colorization and pagination are in Mercurial core.
Tue, 25 Apr 2017 16:50:01 +0200 packaging: add make target for linux wheels stable
Boris Feld <boris.feld@octobus.net> [Tue, 25 Apr 2017 16:50:01 +0200] rev 32080
packaging: add make target for linux wheels Having linux wheels is going to helps system without compiler or python-dev plus speed up the installation for everyone. I followed the manylinux example repository https://github.com/pypa/python-manylinux-demo to add a make target (build-linux-wheels) using official docker image to build python 2 linux wheels for mercurial. It generates Python 2.6 and Python 2.7 for both 32 and 64 bits architectures. I had to blacklist several test cases for various reasons: * test-convert-git.t and test-subrepo-git.t because of the git version * test-patchbomb-tls.t because of warning using tls 1.0 It's likely because the docker image is based on centos 5.0 and openssl is outdated.
Tue, 25 Apr 2017 16:50:01 +0200 tests: fix two http tests to also pass inside manylinux1 docker stable
Boris Feld <boris.feld@octobus.net> [Tue, 25 Apr 2017 16:50:01 +0200] rev 32079
tests: fix two http tests to also pass inside manylinux1 docker This will let us build Linux wheels.
Fri, 28 Apr 2017 20:51:14 +0900 pager: use less as a fallback on Unix stable
Yuya Nishihara <yuya@tcha.org> [Fri, 28 Apr 2017 20:51:14 +0900] rev 32078
pager: use less as a fallback on Unix This seems reasonable choice per discussion, and the default-default of Git. See also the inline-comment for why. https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/097042.html
Tue, 25 Apr 2017 22:10:26 -0400 test-bookmarks: factor hooks out to a shell script for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 25 Apr 2017 22:10:26 -0400] rev 32077
test-bookmarks: factor hooks out to a shell script for Windows The previous incarnation of the hooks weren't being run on Windows, which altered the DAG and hashes[1]. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
Wed, 19 Apr 2017 17:04:22 -0700 help: explain how to access subtopics in internals stable
Matt DeVore <matvore@google.com> [Wed, 19 Apr 2017 17:04:22 -0700] rev 32076
help: explain how to access subtopics in internals
Tue, 18 Apr 2017 14:51:32 -0700 log: document the characters ---graph uses to draw stable
Matt DeVore <matvore@google.com> [Tue, 18 Apr 2017 14:51:32 -0700] rev 32075
log: document the characters ---graph uses to draw The meaning of : vs | was undocumented and non-obvious.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip