Fri, 02 Jun 2017 22:27:52 -0700 status: don't crash if a lookup file disappears stable 4.2.1
Siddharth Agarwal <sid0@fb.com> [Fri, 02 Jun 2017 22:27:52 -0700] rev 32141
status: don't crash if a lookup file disappears This can happen if another process (even another hg process!) comes along and removes the file at that time. This partly resolves issue5584, but not completely -- a bogus dirstate update can still happen. However, the full fix is too involved for stable.
Fri, 02 Jun 2017 10:44:40 +0200 help: clarify the choice of pager stable
Xavier Lepaul <xalep@google.com> [Fri, 02 Jun 2017 10:44:40 +0200] rev 32140
help: clarify the choice of pager This follows the change made in d83e51654c8a to use environment variables between system and user configuration.
Fri, 02 Jun 2017 20:50:46 -0300 i18n-pt_BR: fix syntax error on translation stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 02 Jun 2017 20:50:46 -0300] rev 32139
i18n-pt_BR: fix syntax error on translation
Thu, 01 Jun 2017 20:06:02 -0300 i18n-pt_BR: synchronized with 870248603a4e stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 01 Jun 2017 20:06:02 -0300] rev 32138
i18n-pt_BR: synchronized with 870248603a4e
Thu, 01 Jun 2017 12:24:16 -0500 merge with i18n stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Thu, 01 Jun 2017 12:24:16 -0500] rev 32137
merge with i18n
Wed, 31 May 2017 20:42:58 -0300 i18n-pt_BR: synchronized with a0e46f6b248b stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 31 May 2017 20:42:58 -0300] rev 32136
i18n-pt_BR: synchronized with a0e46f6b248b
Fri, 26 May 2017 13:24:07 -0700 zsh_completion: install as _hg not hg stable
Kyle Lippincott <spectral@google.com> [Fri, 26 May 2017 13:24:07 -0700] rev 32135
zsh_completion: install as _hg not hg The contrib/zsh_completion file itself says to name it _hg. With a name like `hg`, if the user has a line like `autoload ${^fpath}/*(N-.:t)` in their zshrc, it will create a shell function named `hg` that will hide the actual hg command and make hg unusable. Separately from that though, the underscore prefix makes it actually work. The zsh man page states: The convention for autoloaded functions used in completion is that they start with an underscore This does not seem to just be a "convention", though. With the ill-advised line removed from my zshrc and the file named `/usr/local/share/zsh/site-functions/hg` (without the underscore), these completions did not seem to get loaded and the ones from the zsh installation were loaded instead. If I renamed them to be `/usr/local/share/zsh/site-functions/_hg`, however, they were loaded. I manually tested the above statement by starting a new zsh instance with the file in `/usr/local/share/zsh/site-functions` with the following names: - As `hg`, `which _hg_labels` did not show anything - As `_hg`, `which _hg_labels` showed the expected function.
Fri, 26 May 2017 20:03:05 -0400 osx: override default exclude filter for pkgbuild stable
Augie Fackler <augie@google.com> [Fri, 26 May 2017 20:03:05 -0400] rev 32134
osx: override default exclude filter for pkgbuild To quote `man 1 pkgbuild`: --filter filter-expression By default, --root will include the entire contents of the given root-path in the package payload, except for any .svn or CVS directories, and any .DS_Store files. You can override these default filters by specifying one or more --filter options. Each filter-expression is an re_format(7) ``extended'' expression: any path in the root which matches any of the given expressions will be excluded from the pack- age payload. (Note that specifying even one --filter inhibits the default filters, so you must respecify the default fil- ters if you still want them to be used.) It turns out the default filter these days *also* includes .git and .hg. Notice how that filter expression is a regular expression? That (presumably unintentionally) prevents a file named "chg" or "_hg" from getting included in the distribution. Many many thanks to spectral@ for trying to include a _hg file which led us to figure this bug out. Bug filed with Apple for this as rdar://problem/32437369, mentioning both the gap in documentation and the wrong defaults.
Wed, 31 May 2017 19:24:00 -0300 bugzilla: fix typo in help text stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 31 May 2017 19:24:00 -0300] rev 32133
bugzilla: fix typo in help text
Wed, 31 May 2017 19:23:23 -0300 help: fix typos stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 31 May 2017 19:23:23 -0300] rev 32132
help: fix typos
Wed, 31 May 2017 23:44:33 +0900 win32mbcs: avoid unintentional failure at colorization stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 31 May 2017 23:44:33 +0900] rev 32131
win32mbcs: avoid unintentional failure at colorization Since 176ed32dc159, pycompat.bytestr() wrapped by win32mbcs returns unicode object, if an argument is not byte-str object. And this causes unexpected failure at colorization. pycompat.bytestr() is used to convert from color effect "int" value to byte-str object in color module. Wrapped pycompat.bytestr() returns unicode object for such "int" value, because it isn't byte-str. If this returned unicode object is used to colorize non-ASCII byte-str in cases below, UnicodeDecodeError is raised at an operation between them. - colorization uses "ansi" color mode, or Even though this isn't default on Windows, user might use this color mode for third party pager. - ui.write() is buffered with labeled=True Buffering causes "ansi" color mode internally, regardless of actual color mode. With "win32" color mode, extra escape sequences are omitted at writing data out. For example, with "win32" color mode, "hg status" doesn't fail for non-ASCII filenames, but "hg log" does for non-ASCII text, because the latter implies buffered formatter. There are many "color effect" value lines in color.py, and making them byte-str objects isn't suitable for fixing on stable. In addition to it, pycompat.bytestr will be used to get byte-str object from any types other than int, too. To resolve this issue, this patch does: - replace pycompat.bytestr in checkwinfilename() with newly added hook point util._filenamebytestr, and - make win32mbcs reverse-wrap util._filenamebytestr (this is a replacement of 176ed32dc159) This patch does two things above at same time, because separately applying the former change adds broken revision (from point of view of win32mbcs) to stable branch. "_" prefix is added to "filenamebytestr", because it is win32mbcs specific hook point.
Fri, 26 May 2017 19:33:20 -0700 debian: add less as a build dependency stable
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Fri, 26 May 2017 19:33:20 -0700] rev 32130
debian: add less as a build dependency For builds that run on hermetic environments, it's possible that the "less" package is not installed by default, yet it's needed for tests to pass after revision bf5e13e38390 (which sets less as the fallback pager).
Thu, 25 May 2017 23:42:37 -0400 wix: add 'ro' and 'ru' locales stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 25 May 2017 23:42:37 -0400] rev 32129
wix: add 'ro' and 'ru' locales Also noticed when diffing an MSI installation against an Inno installation. OTOH, the Inno install doesn't include 'i18n' with the *.po files.
Thu, 25 May 2017 23:03:56 -0400 wix: include zstd.pyd in the installation stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 25 May 2017 23:03:56 -0400] rev 32128
wix: include zstd.pyd in the installation When trying to create a zstd bundle, the MSI based install said: abort: compression engine zstd could not be loaded The Inno installer is unaffected. The name will need to be updated to include 'cext' when merging into default.
Wed, 24 May 2017 22:59:59 -0400 clonebundles: fix missing newline character stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 24 May 2017 22:59:59 -0400] rev 32127
clonebundles: fix missing newline character Previously, the line displayed as '( )' instead of '(\n)'.
Wed, 24 May 2017 15:25:24 -0700 exchange: print full reason variable stable
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 24 May 2017 15:25:24 -0700] rev 32126
exchange: print full reason variable This commit essentially reverts 69ac9aebbc55. urllib2.URLError receives a "reason" argument. It isn't always a tuple. Mozilla has experienced at least IndexError failures due to the reason[1] access. https://bugzilla.mozilla.org/show_bug.cgi?id=1364687
Tue, 23 May 2017 03:29:23 +0900 dispatch: setup color before pager for correct console information on windows stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 23 May 2017 03:29:23 +0900] rev 32125
dispatch: setup color before pager for correct console information on windows Before this patch, "hg CMD --pager on" on Windows shows output unintentionally decorated with ANSI color escape sequences, if color mode is "auto". This issue occurs in steps below. 1. dispatch() invokes ui.pager() at detection of "--pager on" 2. stdout of hg process is redirected into stdin of pager process 3. "ui.formatted" = True, because isatty(stdout) is so before (2) 4. color module is loaded for colorization 5. color.w32effects = None, because GetConsoleScreenBufferInfo() fails on stdout redirected at (2) 6. "ansi" color mode is chosen, because of "not w32effects" 7. output is colorized in "ansi" mode because of "ui.formatted" = True Even if "ansi" color mode is chosen, ordinarily redirected stdout makes ui.formatted() return False, and colorization is avoided. But in this issue case, "ui.formatted" = True at (3) forces output to be colorized. For correct console information on win32, it is needed to ensure that color module is loaded before redirection of stdout for pagination. BTW, if any of enabled extensions has "colortable" attribute, this issue is avoided even before this patch, because color module is imported as a part of loading such extension, and extension loading occurs before setting up pager. For example, mq and keyword have "colortable".
Wed, 17 May 2017 15:39:37 +0200 obsolete: invalidate "volatile" set cache after merging marker stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 15:39:37 +0200] rev 32124
obsolete: invalidate "volatile" set cache after merging marker Adding markers to the repository might affect the set of obsolete changesets. So we most remove the "volatile" set who rely in that data. We add two missing invalidations after merging markers. This was caught by code change in the evolve extensions tests. This issues highlight that the current way to do things is a bit fragile, however we keep things simple for stable.
Fri, 12 May 2017 21:46:14 +0900 win32mbcs: wrap underlying pycompat.bytestr to use checkwinfilename safely stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 12 May 2017 21:46:14 +0900] rev 32123
win32mbcs: wrap underlying pycompat.bytestr to use checkwinfilename safely win32mbcs wraps some functions, to prevent them from unintentionally treating backslash (0x5c), which is used as the second or later byte of multi bytes characters by problematic encodings, as a path component delimiter on Windows platform. This wrapping assumes that wrapped functions can safely accept unicode string arguments. Unfortunately, d1937bdcee8c broke this assumption by introducing pycompat.bytestr() into util.checkwinfilename() for py3 support. After that, wrapped checkwinfilename() always fails for non-ASCII filename at pycompat.bytestr() invocation. This patch wraps underlying pycompat.bytestr() function to use util.checkwinfilename() safely. To avoid similar regression in the future, another patch series will add smoke testing on default branch.
Tue, 09 May 2017 15:08:47 +0200 hghave: prefill more version of Mercurial stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 May 2017 15:08:47 +0200] rev 32122
hghave: prefill more version of Mercurial The previous code was unable to go above version 4.0.
Thu, 11 May 2017 17:18:40 +0200 graft: fix graft across merges of duplicates of grafted changes stable
Mads Kiilerich <madski@unity3d.com> [Thu, 11 May 2017 17:18:40 +0200] rev 32121
graft: fix graft across merges of duplicates of grafted changes Graft used findmissingrevs to find the candidates for graft duplicates in the destination. That function operates with the constraint: 1. N is an ancestor of some node in 'heads' 2. N is not an ancestor of any node in 'common' For our purpose, we do however have to work correctly in cases where the graft set has multiple roots or where merges between graft ranges are skipped. The only changesets we can be sure doesn't have ancestors that are grafts of any changeset in the graftset, are the ones that are common ancestors of *all* changesets in the graftset. We thus need: 2. N is not an ancestor of all nodes in 'common' This change will graft more correctly, but it will also in some cases make graft slower by making it search through a bigger and unnecessary large sets of changes to find duplicates. In the general case of grafting individual or linear sets, we do the same amount of work as before.
Tue, 09 May 2017 00:11:30 +0200 graft: test coverage of grafts and how merges can break duplicate detection stable
Mads Kiilerich <madski@unity3d.com> [Tue, 09 May 2017 00:11:30 +0200] rev 32120
graft: test coverage of grafts and how merges can break duplicate detection This demonstrates unfortunate behaviour: extending the graft range cause the graft to behave differently. When the graft range includes a merge, we fail to detect duplicates that are ancestors of the merge.
Mon, 08 May 2017 23:05:01 -0400 churn: use the non-deprecated template option in the examples stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 May 2017 23:05:01 -0400] rev 32119
churn: use the non-deprecated template option in the examples
Mon, 08 May 2017 09:30:26 -0700 sslutil: reference fingerprints config option properly (issue5559) stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 08 May 2017 09:30:26 -0700] rev 32118
sslutil: reference fingerprints config option properly (issue5559) The config option is "host:fingerprints" not "host.fingerprints". This warning message is bad and misleads users.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip