Sun, 03 Jun 2018 13:23:12 +0900 test-fuzz-targets: rebuild executable silently
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:23:12 +0900] rev 38235
test-fuzz-targets: rebuild executable silently This makes sure the build is not broken.
Sun, 03 Jun 2018 13:21:13 +0900 fuzz: fix "make clean" to pass even if no binaries built yet
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:21:13 +0900] rev 38234
fuzz: fix "make clean" to pass even if no binaries built yet
Sun, 03 Jun 2018 13:18:13 +0900 fuzz: compile xdiff.cc with -std=c++17
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:18:13 +0900] rev 38233
fuzz: compile xdiff.cc with -std=c++17 Otherwise the build would fail as follows: In file included from xdiff.cc:13: ./fuzzutil.h:23:10: fatal error: 'third_party/absl/types/optional.h' file not found #include "third_party/absl/types/optional.h"
Sun, 03 Jun 2018 13:12:32 +0900 fuzz: fix use of undeclared function memcpy()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:12:32 +0900] rev 38232
fuzz: fix use of undeclared function memcpy()
Sun, 03 Jun 2018 13:11:49 +0900 fuzz: fix the default make target
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:11:49 +0900] rev 38231
fuzz: fix the default make target
Sun, 03 Jun 2018 13:11:22 +0900 fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jun 2018 13:11:22 +0900] rev 38230
fuzz: expand variables by make Otherwise it wouldn't work unless CC and CXX were exported from the environment.
Sat, 21 Apr 2018 17:21:31 +0900 templater: always map over a wrapped object
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Apr 2018 17:21:31 +0900] rev 38229
templater: always map over a wrapped object _checkeditermaps() is no longer necessary as the hgweb issue was resolved.
Sat, 21 Apr 2018 17:15:11 +0900 templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Apr 2018 17:15:11 +0900] rev 38228
templater: consistently join() string-like object per character (BC) The old behavior was copied from join() of a lazy generator string, which was unified to the behavior of join() of a byte string by the previous patch. This patch fixes the mappable type to do the same.
Sat, 21 Apr 2018 17:00:21 +0900 templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Apr 2018 17:00:21 +0900] rev 38227
templater: always join() over a wrapped object (BC) This is a behavior change in a sense that join() of a byte string is no longer "implementation dependent." Before, if a byte string was backed by a lazy generator, join() would concatenate each chunk with the specified separator, which seems wrong. The new behavior is always join() each byte. TypeError on join() over uniterable is also fixed.
Tue, 20 Mar 2018 23:56:26 +0900 templater: add wrapped types for pure non-list/dict values
Yuya Nishihara <yuya@tcha.org> [Tue, 20 Mar 2018 23:56:26 +0900] rev 38226
templater: add wrapped types for pure non-list/dict values These wrapper types will allow us to get rid of some isinstance() business. A bytes object needs to support sequence-like operations (e.g. join(), ifcontains(), etc.) That's why we have two wrapper classes. Tests will be added later.
Wed, 04 Apr 2018 21:06:14 +0900 templater: unify unwrapvalue() with _unwrapvalue()
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 21:06:14 +0900] rev 38225
templater: unify unwrapvalue() with _unwrapvalue() All weird generators got removed from the hgweb codebase. We still have inconsistent behavior regarding join() of a byte string, which will be addressed later.
Wed, 04 Apr 2018 21:01:21 +0900 templater: inline unwrapvalue()
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 21:01:21 +0900] rev 38224
templater: inline unwrapvalue() The current unwrapvalue() will be superseded by _unwrapvalue(). Note that _unwrapvalue() can simply return thing.tovalue() if thing is a wrapped object. That's because tovalue() is guaranteed to not return a generator of strings.
Sun, 13 May 2018 23:18:26 +0200 run-tests: update the test case name format
Boris Feld <boris.feld@octobus.net> [Sun, 13 May 2018 23:18:26 +0200] rev 38223
run-tests: update the test case name format Manually typing parenthesis and spaces will be tedious when trying to launch a specific test case. I'm proposing a simpler format that is less hard to remember and type right. There was other possibilities envisaged like `::` or `!`, I think `#` is slight easier to type but I'm open to any suggestion on the new format. Differential Revision: https://phab.mercurial-scm.org/D3556
Thu, 26 Apr 2018 23:57:20 +0200 run-tests: add support for running specific test cases
Boris Feld <boris.feld@octobus.net> [Thu, 26 Apr 2018 23:57:20 +0200] rev 38222
run-tests: add support for running specific test cases Differential Revision: https://phab.mercurial-scm.org/D3555
Sun, 03 Jun 2018 17:02:38 +0530 configitems: drop the deprecated alias for commands.update.check
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 17:02:38 +0530] rev 38221
configitems: drop the deprecated alias for commands.update.check experimental.updatecheck was deprecated and should have been removed once 4.4 was released. Let's drop it now. Differential Revision: https://phab.mercurial-scm.org/D3679
Sat, 02 Jun 2018 15:55:28 +0530 graft: correct documentation about options can be reapplied
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Jun 2018 15:55:28 +0530] rev 38220
graft: correct documentation about options can be reapplied Now options --user and --date can be reapplied after we hit a conflict. Differential Revision: https://phab.mercurial-scm.org/D3678
Sat, 02 Jun 2018 22:18:12 -0400 cmdutil: use internal separators when building the terse list
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 22:18:12 -0400] rev 38219
cmdutil: use internal separators when building the terse list Status uses internal separators, so this is more correct. See c974320d20b9 and 362096cfdb1f. A utility method is still needed, so that the paths starting with '/' aren't created when `self.path` is empty.
Wed, 30 May 2018 14:20:09 +0530 advanceboundary: add dryrun parameter
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 30 May 2018 14:20:09 +0530] rev 38218
advanceboundary: add dryrun parameter Added logic to find those csets whose phase will be changed (when running without --dryrun) while advancing boundary and return those csets. Differential Revision: https://phab.mercurial-scm.org/D3671
Wed, 30 May 2018 17:37:17 +0530 grep: enable passing wdir as a revision
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Wed, 30 May 2018 17:37:17 +0530] rev 38217
grep: enable passing wdir as a revision When you pass wdir() to the -r flag, it catches the WdirUnsupported error and falls back to an alternate path. Differential Revision: https://phab.mercurial-scm.org/D3673
Fri, 01 Jun 2018 23:33:17 -0400 outgoing: drop an extraneous URL parse
Matt Harbison <matt_harbison@yahoo.com> [Fri, 01 Jun 2018 23:33:17 -0400] rev 38216
outgoing: drop an extraneous URL parse This was left over from dfb888aae17a. 'branches' wasn't used, and the only thing parseurl() would do is slice any branch fragment off 'dest'. But path.loc and path.pushloc already have the fragment removed.
Mon, 14 May 2018 12:38:05 +0200 config: rename allow_archive to allow-archive
David Demelier <markand@malikania.fr> [Mon, 14 May 2018 12:38:05 +0200] rev 38215
config: rename allow_archive to allow-archive As part of ConfigConsolidationPlan [1], rename the option according to the new UI guidelines [2] and add an alias for backward compatibility. [1]: https://www.mercurial-scm.org/wiki/ConfigConsolidationPlan [2]: https://www.mercurial-scm.org/wiki/UIGuideline#adding_new_options
Sat, 21 Apr 2018 17:31:03 +0900 hgweb: fill {rename} even if ?linerange is specified
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Apr 2018 17:31:03 +0900] rev 38214
hgweb: fill {rename} even if ?linerange is specified Otherwise, {rename % ...} would fail. Hopefully this is the last hgweb patch so I can start fixing templater stuff.
Wed, 04 Apr 2018 20:53:16 +0900 hgweb: wrap {earlycommands} and {othercommands} of help with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:53:16 +0900] rev 38213
hgweb: wrap {earlycommands} and {othercommands} of help with mappinggenerator They were generators of mappings.
Wed, 04 Apr 2018 20:51:49 +0900 hgweb: wrap {topics}es of help with mappinggenerator or mappinglist
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:51:49 +0900] rev 38212
hgweb: wrap {topics}es of help with mappinggenerator or mappinglist The former 'topics' was a generator function, and the latter was a list of mappings.
Wed, 04 Apr 2018 20:48:37 +0900 hgweb: wrap {edges} of {nodes} of graph with mappinglist
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:48:37 +0900] rev 38211
hgweb: wrap {edges} of {nodes} of graph with mappinglist This was a list of mappings.
Wed, 04 Apr 2018 20:48:00 +0900 hgweb: wrap {nodes} of graph with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:48:00 +0900] rev 38210
hgweb: wrap {nodes} of graph with mappinggenerator It was a generator of mappings, which shouldn't be put in template mappings.
Wed, 04 Apr 2018 20:46:12 +0900 hgweb: adapt {jsdata} of graph to mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:46:12 +0900] rev 38209
hgweb: adapt {jsdata} of graph to mappinggenerator The laziness is handled by the mappinggenerator class.
Wed, 04 Apr 2018 20:44:18 +0900 hgweb: wrap {nextentry} of graph with mappinglist
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:44:18 +0900] rev 38208
hgweb: wrap {nextentry} of graph with mappinglist It's a 0/1-length list of a mapping.
Fri, 01 Jun 2018 23:02:36 +0900 setup: write version constant as bytes literal
Yuya Nishihara <yuya@tcha.org> [Fri, 01 Jun 2018 23:02:36 +0900] rev 38207
setup: write version constant as bytes literal Spotted while bulk-rewriting string literals to b''s.
Thu, 31 May 2018 18:53:28 +0800 spartan: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:53:28 +0800] rev 38206
spartan: don't show '[up]' in file view when in root directory already
Thu, 31 May 2018 18:39:35 +0800 monoblue: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:39:35 +0800] rev 38205
monoblue: don't show '[up]' in file view when in root directory already
Thu, 31 May 2018 18:33:49 +0800 gitweb: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:33:49 +0800] rev 38204
gitweb: don't show '[up]' in file view when in root directory already
Thu, 31 May 2018 18:01:54 +0800 paper: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:01:54 +0800] rev 38203
paper: don't show '[up]' in file view when in root directory already
Thu, 31 May 2018 16:52:02 +0800 spartan: add missing closing tags
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 16:52:02 +0800] rev 38202
spartan: add missing closing tags Browsers apparently don't care about this, but let's fix it for humans.
Fri, 20 Apr 2018 15:21:03 +0200 templatefilters: add commonprefix
Joerg Sonnenberger <joerg@bec.de> [Fri, 20 Apr 2018 15:21:03 +0200] rev 38201
templatefilters: add commonprefix The commonprefix filter takes a list of files names like files() and returns the longest directory name common to all elements. Differential Revision: https://phab.mercurial-scm.org/D3439
Sun, 20 May 2018 19:07:51 +0530 py3: add 3 new passing tests to whitelist
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 19:07:51 +0530] rev 38200
py3: add 3 new passing tests to whitelist We ave crossed the 500 mark! Differential Revision: https://phab.mercurial-scm.org/D3638
Thu, 24 May 2018 09:56:28 +0000 serve: add option print-url
Nicola Spanti <nicola.spanti@logilab.fr> [Thu, 24 May 2018 09:56:28 +0000] rev 38199
serve: add option print-url It can be used to open hgweb in a web browser. Example : xdg-open "`hg serve --print-url`". Differential Revision: https://phab.mercurial-scm.org/D3649
Wed, 06 Jun 2018 12:53:26 -0700 chg: fix an undefined behavior about memcpy stable
Jun Wu <quark@fb.com> [Wed, 06 Jun 2018 12:53:26 -0700] rev 38198
chg: fix an undefined behavior about memcpy Spot by Wez Furlong. `memcpy(x, NULL, 0)` is undefined according to [1]. [1]: https://stackoverflow.com/questions/5243012 Differential Revision: https://phab.mercurial-scm.org/D3698
Wed, 06 Jun 2018 13:28:49 -0400 Added signature for changeset 9c5ced5276d6 stable
Augie Fackler <raf@durin42.com> [Wed, 06 Jun 2018 13:28:49 -0400] rev 38197
Added signature for changeset 9c5ced5276d6
Wed, 06 Jun 2018 13:28:48 -0400 Added tag 4.6.1 for changeset 9c5ced5276d6 stable
Augie Fackler <raf@durin42.com> [Wed, 06 Jun 2018 13:28:48 -0400] rev 38196
Added tag 4.6.1 for changeset 9c5ced5276d6
Mon, 30 Apr 2018 22:24:58 -0400 mpatch: avoid integer overflow in combine() (SEC) stable 4.6.1
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:24:58 -0400] rev 38195
mpatch: avoid integer overflow in combine() (SEC) All the callers of this function can handle a NULL return, so that appears to be the "safe" way to report an error.
Mon, 30 Apr 2018 22:23:06 -0400 mpatch: avoid integer overflow in mpatch_decode (SEC) stable
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:23:06 -0400] rev 38194
mpatch: avoid integer overflow in mpatch_decode (SEC)
Mon, 30 Apr 2018 22:20:13 -0400 mpatch: fix UB integer overflows in discard() (SEC) stable
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:20:13 -0400] rev 38193
mpatch: fix UB integer overflows in discard() (SEC)
Mon, 30 Apr 2018 22:15:11 -0400 mpatch: fix UB in int overflows in gather() (SEC) stable
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:15:11 -0400] rev 38192
mpatch: fix UB in int overflows in gather() (SEC)
Thu, 03 May 2018 12:54:20 -0400 mpatch: introduce a safesub() helper as well stable
Augie Fackler <augie@google.com> [Thu, 03 May 2018 12:54:20 -0400] rev 38191
mpatch: introduce a safesub() helper as well Same reason as safeadd().
Mon, 30 Apr 2018 22:13:42 -0400 mpatch: introduce a safeadd() helper to work around UB int overflow stable
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:13:42 -0400] rev 38190
mpatch: introduce a safeadd() helper to work around UB int overflow We're about to make extensive use of this. This change duplicates some stdbool.h portability hacks from cext/util.h. We should probably clean that up in the future, but we'll skip that for now in order to make security backports easier.
Sat, 28 Apr 2018 10:09:12 -0400 mpatch: ensure fragment start isn't past the end of orig (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 10:09:12 -0400] rev 38189
mpatch: ensure fragment start isn't past the end of orig (SEC) Caught by oss-fuzz fuzzer during development. This defect is OVE-20180430-0004. A CVE has not been obtained as of this writing.
Sat, 28 Apr 2018 02:04:56 -0400 mpatch: protect against underflow in mpatch_apply (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 02:04:56 -0400] rev 38188
mpatch: protect against underflow in mpatch_apply (SEC) Also caught by oss-fuzz fuzzer during development. This defect is OVE-20180430-0002. A CVE has not been obtained as of this writing.
Sat, 28 Apr 2018 00:42:16 -0400 mpatch: be more careful about parsing binary patch data (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 00:42:16 -0400] rev 38187
mpatch: be more careful about parsing binary patch data (SEC) It appears to have been possible to trivially walk off the end of an allocated region with a malformed patch. Oops. Caught when writing an mpatch fuzzer for oss-fuzz. This defect is OVE-20180430-0001. A CVE has not been obtained as of this writing.
Wed, 06 Jun 2018 09:14:33 -0700 zstandard: pull in bug fixes from upstream 0.9.1 release (issue5884) stable
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 06 Jun 2018 09:14:33 -0700] rev 38186
zstandard: pull in bug fixes from upstream 0.9.1 release (issue5884) This changeset contains the meaningful code changes from python-zstandard's 0.9.1 release. The main fix is to restore support for compiling with mingw.
Wed, 06 Jun 2018 21:19:42 +0800 templatefuncs: only render text portion of minirst.format() result stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Jun 2018 21:19:42 +0800] rev 38185
templatefuncs: only render text portion of minirst.format() result When "keep" argument is provided, the function returns (text, pruned), where pruned is a list of sections from the original plain text that were pruned from the rendered result. Let's not output it together with the rendered HTML.
Wed, 06 Jun 2018 21:15:26 +0800 tests: demonstrate that hgweb renders "pruned" that minirst.format() returns stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Jun 2018 21:15:26 +0800] rev 38184
tests: demonstrate that hgweb renders "pruned" that minirst.format() returns Notice at the bottom of the help text there's "windows". It's a section that is in the original help text, but was pruned (because hgweb didn't ask for it).
Tue, 05 Jun 2018 23:49:54 -0400 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907) stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Jun 2018 23:49:54 -0400] rev 38183
rebase: avoid RevlogError when computing obsoletenotrebased (issue5907) The key to reproducing this seems to be missing an obsolete node that is not an ancestor of the destination.
Sat, 02 Jun 2018 13:44:44 -0400 rebase: prioritize indicating an interrupted rebase over update (issue5838) stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 13:44:44 -0400] rev 38182
rebase: prioritize indicating an interrupted rebase over update (issue5838) This should also cover the transplant extension, and any other non clearable states.
Sat, 02 Jun 2018 13:25:45 -0400 tests: demonstrate inconsistent messaging around interrupted rebases stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 13:25:45 -0400] rev 38181
tests: demonstrate inconsistent messaging around interrupted rebases
Thu, 31 May 2018 22:15:52 -0400 tests: adapt test-check-pylint to run on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 22:15:52 -0400] rev 38180
tests: adapt test-check-pylint to run on Windows The line endings are explicitly converted because this was ending up with '\r (no-eol) (esc)' lines, in addition to the usual '\r (esc)' lines. I've seen the fakerc output on other recently installed systems though (10.13 and/or Fedora 26). Unfortunately, the output here uses '\\' on Windows, so glob away the whole path.
Thu, 31 May 2018 22:11:47 -0400 hghave: avoid a deadlock reading the child process's output stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 22:11:47 -0400] rev 38179
hghave: avoid a deadlock reading the child process's output The output of `pylint` is voluminous enough that it fills the buffer on Windows, and waited for the parent to read it out. But the parent was waiting on the child to exit. I'm not sure what the intent of setting `ret = -1` in the exception handler just above this was...
Thu, 31 May 2018 09:19:09 -0400 lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902) stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 09:19:09 -0400] rev 38178
lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902) There are only a handful of methods that access repo attributes that are applied in reposetup(). The `diff` test covers all of the commands that call scmutil.prefetchfiles(). Along the way, I saw that adding files and upgrading the repo format were also problems (also tested here). I don't think running `hg serve` through the commandserver is sane, but I conditionalized both the capabilities and the wsgirequest handler because it's trivially correct. It doesn't look like there has ever been a caller of candownload(), so there's no test for that path. The upload case isn't testable, because uploadblobs() bails if there are no pointers. The requirement should be added any time pointers are introduced, and that would force the extension to be loaded specifically for the repo. This covers `debuglfsupload`, the pre-push hook (which isn't set until the repo is promoted to LFS), and uploadblobsfromrevs(), which can be called by other extensions. I think readfromstore() and writetostore() are only reachable as a flag processor for revlog.REVIDX_EXTSTORED, and a requirement is added as soon as that is seen, so I don't think those are a problem.
Sat, 26 May 2018 11:33:02 +0900 revlog: disallow setting uncompressed length to None
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:33:02 +0900] rev 38177
revlog: disallow setting uncompressed length to None Backed out changeset a4942675de6b
Sat, 26 May 2018 11:31:51 +0900 unionrepo: fill in uncompressed length of revlog entry
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:31:51 +0900] rev 38176
unionrepo: fill in uncompressed length of revlog entry It can be either -1 or a valid length, but shouldn't be None. IIUC, we can simply trust the length retrieved from the revlog to be overlaid. I don't bother thinking whether the compressed length can be copied as well. We'll need to fix it later.
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip