- May 02, 2017
-
-
Kevin Bullock authored
-
- Apr 30, 2017
-
-
Katsunori FUJIWARA authored
-
- May 02, 2017
-
-
Pierre-Yves David authored
This option was never released except for a release candidate. Dropping compatibility with this option will free the 'pager.enable' config option for other usage in the future.
-
- May 01, 2017
-
-
Pierre-Yves David authored
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.
-
- May 02, 2017
-
-
Pierre-Yves David authored
This lift the confusing case, where 'ui.color=always' would actually not always use color.
-
Pierre-Yves David authored
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])
-
- May 01, 2017
-
-
Pierre-Yves David authored
The 'config' helps was missing help about pager enabling/disabling.
-
Pierre-Yves David authored
Same as for 'ui.color', this is a critical part of the UI and we want user to find this config knob easily.
-
Pierre-Yves David authored
There as a 'hg help pager' section but the 'hg help config.pager' was missing.
-
Pierre-Yves David authored
While poking at this option I realised it was not tested.
-
Pierre-Yves David authored
The extension is deprecated, we should having exposing it to users.
-
Pierre-Yves David authored
"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'.
-
- Apr 19, 2017
-
-
Yuya Nishihara authored
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.
-
- May 01, 2017
-
-
Pierre-Yves David authored
This is probably the best way to have users learn more is they need too.
-
Pierre-Yves David authored
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.
-
Pierre-Yves David authored
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.
-
Pierre-Yves David authored
We point out that color is enabled by default.
-
Martin von Zweigbergk authored
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.
-
Pierre-Yves David authored
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.
-
Katsunori FUJIWARA authored
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
-
Katsunori FUJIWARA authored
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.
-
- Apr 30, 2017
-
-
Katsunori FUJIWARA authored
Another raising PeerTransportError for "incomplete response" in httppeer.py uses this (changed) hint message. This unification reduces cost of translation.
-
Katsunori FUJIWARA authored
This patch also includes un-quoting "descend" keyword for similarity to other error messages (this seems too trivial as a separated patch).
-
Katsunori FUJIWARA authored
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
-
Katsunori FUJIWARA authored
This configuration example doesn't make rebase require a destination, even though help document wants to show such example.
-
Katsunori FUJIWARA authored
-
Katsunori FUJIWARA authored
Now, colorization and pagination are in Mercurial core.
-
- Apr 25, 2017
-
-
Boris Feld authored
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.
-
Boris Feld authored
This will let us build Linux wheels.
-
- Apr 28, 2017
-
-
Yuya Nishihara authored
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
-
- Apr 26, 2017
-
-
Matt Harbison authored
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
-
- Apr 20, 2017
-
-
Matt DeVore authored
-
- Apr 18, 2017
-
-
Matt DeVore authored
The meaning of : vs | was undocumented and non-obvious.
-
- Apr 25, 2017
-
-
Gregory Szorc authored
A pager.attend-* value that isn't a full command or alias name doesn't work. We add explicit test coverage of this to demonstrate it.
-
Gregory Szorc authored
Explicit test coverage is good.
-
Gregory Szorc authored
`log` is attended by default. We don't need to specify pager.attend-log in this test.
-
- Apr 24, 2017
-
-
Denis Laxalde authored
DAG directions "descending" / "ascending" arguably do not make much sense in the web interface where changes are usually listed by "dates".
-
Denis Laxalde authored
When on a filelog head, we are certain that there will be no descendant so the target of the "descending" link will lead to an empty log result. Do not display the link in this case.
-
Denis Laxalde authored
We set parent._descendantrev = child.rev() when walking parents in blockancestors() so that, when linkrev adjustment is perform for these, it starts from a close descendant instead of possibly topmost introrev. (See `self._adjustlinkrev(self._descendantrev)` in filectx._changeid().) This is similar to changeset c82d88dfaf59, which added a "f._changeid" instruction in annotate() for the same purpose. However, here, we set _descendantrev explicitly instead of relying on the '_changeid' cached property being accessed (with effect to set _changeid attribute) so that, in _parentfilectx() (called from parents()), we go through `if '_changeid' in vars(self) [...]` branch in which instruction `fctx._descendantrev = self.rev()` finally appears and does what we want. With this, we can roughly get a 3x speedup (including in example of issue5538 from mozilla-central repository) on usage of followlines revset (and equivalent hgweb request).
-