Mon, 11 Jun 2018 11:37:21 -0700 revsets: define a none() revset
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Jun 2018 11:37:21 -0700] rev 38275
revsets: define a none() revset This can be useful for default values in corp-wide configuration (e.g. for commits to hide, which defaults to none()), and perhaps in scripts. I named it none() rather than empty() to match all(). Differential Revision: https://phab.mercurial-scm.org/D3713
Mon, 11 Jun 2018 19:24:01 +0200 statprof: fix save and load
Boris Feld <boris.feld@octobus.net> [Mon, 11 Jun 2018 19:24:01 +0200] rev 38274
statprof: fix save and load Fix these functions even if they don't are used at the moment. Thanks to Yuya Nishihara for spotting that.
Mon, 11 Jun 2018 19:05:41 +0200 perftemplating: abort on incompatible version
Boris Feld <boris.feld@octobus.net> [Mon, 11 Jun 2018 19:05:41 +0200] rev 38273
perftemplating: abort on incompatible version This is what the other debug commands do. Thanks to Yuya Nishihara for pointing this out.
Tue, 05 Jun 2018 21:40:33 +0900 templater: fix string representation of wrapped None
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Jun 2018 21:40:33 +0900] rev 38272
templater: fix string representation of wrapped None flatten() and stringify() skip None, which means wrappedvalue(None).show() must return '' instead of 'None'. This isn't a problem right now, but we'll encounter it once we start using wrapped types extensively.
Fri, 08 Jun 2018 20:57:54 +0900 templater: show slightly better hint on map operation error
Yuya Nishihara <yuya@tcha.org> [Fri, 08 Jun 2018 20:57:54 +0900] rev 38271
templater: show slightly better hint on map operation error It was super hard to find where the templater went wrong if a keyword was evaluated to '' or None.
Wed, 21 Mar 2018 12:28:12 +0900 templater: inline unwraphybrid()
Yuya Nishihara <yuya@tcha.org> [Wed, 21 Mar 2018 12:28:12 +0900] rev 38270
templater: inline unwraphybrid() flatten() is the solo user of this function.
Mon, 19 Mar 2018 00:26:55 +0900 templater: drop hybrid-ness on unwrapvalue()
Yuya Nishihara <yuya@tcha.org> [Mon, 19 Mar 2018 00:26:55 +0900] rev 38269
templater: drop hybrid-ness on unwrapvalue() Proxy methods are no longer necessary as list/dict functions go through the wrapped interface.
Fri, 23 Mar 2018 22:31:58 +0900 templater: mark .keytype as a private attribute
Yuya Nishihara <yuya@tcha.org> [Fri, 23 Mar 2018 22:31:58 +0900] rev 38268
templater: mark .keytype as a private attribute
Mon, 19 Mar 2018 00:23:20 +0900 templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org> [Mon, 19 Mar 2018 00:23:20 +0900] rev 38267
templater: abstract ifcontains() over wrapped types This allows us to make .keytype private. There's a minor BC that a hybrid dict/list of keytype=None now strictly checks the type of the needle. For example, {ifcontains(rev, files)} no longer matches a file named "1" at the rev=1. I made this change for consistency with the get(dict, key) function. We can restore the old behavior by making keytype=bytes the default if desired.
Wed, 21 Mar 2018 12:06:18 +0900 templater: inline wraphybridvalue()
Yuya Nishihara <yuya@tcha.org> [Wed, 21 Mar 2018 12:06:18 +0900] rev 38266
templater: inline wraphybridvalue() All wraphybridvalue() calls are now handled in the hybrid class.
Mon, 19 Mar 2018 00:16:12 +0900 templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org> [Mon, 19 Mar 2018 00:16:12 +0900] rev 38265
templater: abstract min/max away I'm not certain how many get*() functions I'll add to the wrapped types, but getmin() and getmax() will allow us to optimize a revset wrapper.
Sun, 10 Jun 2018 12:24:53 +0900 stringutil: fix prettyrepr() to not orphan foo=<...> line
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 12:24:53 +0900] rev 38264
stringutil: fix prettyrepr() to not orphan foo=<...> line
Sun, 10 Jun 2018 11:55:52 +0900 debugwalk: pretty-print nested matcher
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 11:55:52 +0900] rev 38263
debugwalk: pretty-print nested matcher While porting filesets to composition of matchers, I found the original one-liner was hard to read.
Sun, 10 Jun 2018 11:53:56 +0900 debugwalk: show matcher output only if -v/--verbose
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 11:53:56 +0900] rev 38262
debugwalk: show matcher output only if -v/--verbose And drop "egrep -v". This matches the behavior of "hg debugrevspec".
Sun, 10 Jun 2018 11:50:09 +0900 stringutil: promote smartset.prettyformat() to utility function
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 11:50:09 +0900] rev 38261
stringutil: promote smartset.prettyformat() to utility function It will be used by debugwalk.
Fri, 01 Jun 2018 17:27:58 +0200 profiling: introduce a "profiling.time-track" option
Boris Feld <boris.feld@octobus.net> [Fri, 01 Jun 2018 17:27:58 +0200] rev 38260
profiling: introduce a "profiling.time-track" option This option allows to switch the time used by the statistical profiler from cpu to real time. Our goal is to profile IO intensive operations using the mercurial profiler.
Fri, 01 Jun 2018 11:23:27 +0200 statprof: also gather wall time
Boris Feld <boris.feld@octobus.net> [Fri, 01 Jun 2018 11:23:27 +0200] rev 38259
statprof: also gather wall time Gathering wall time information is useful for operations that are IO (files, network) intensive. For now we only expose it in the final summary.
Thu, 31 May 2018 19:34:08 +0200 perftemplating: allow to specify the template to test
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 19:34:08 +0200] rev 38258
perftemplating: allow to specify the template to test This is useful to test the evolution of rendering time for a given template.
Thu, 31 May 2018 19:23:04 +0200 perftemplating: stop going through the log command
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 19:23:04 +0200] rev 38257
perftemplating: stop going through the log command Only benchmark the rendering phase by moving steps outside of the timed function: * revisions resolution, * template parsing
Thu, 31 May 2018 18:48:08 +0200 perftemplating: move revision argument to flag only
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 18:48:08 +0200] rev 38256
perftemplating: move revision argument to flag only The revision we want to render are less important than the templates. We move revision specification behind the usual `--rev` flag.
Thu, 31 May 2018 18:43:15 +0200 perftemplating: drop usage of buffer
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 18:43:15 +0200] rev 38255
perftemplating: drop usage of buffer The buffer can consume a lot of memory and change various internal behaviors. Writing to dev/null seems more appropriate when it comes to benchmark.
Thu, 31 May 2018 17:31:46 +0200 perftemplating: move template formating into its own function
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 17:31:46 +0200] rev 38254
perftemplating: move template formating into its own function The lambda is not practical when time will come to alter the benchmark code.
Thu, 31 May 2018 18:05:15 +0200 perftemplating: fix the revisions argument
Boris Feld <boris.feld@octobus.net> [Thu, 31 May 2018 18:05:15 +0200] rev 38253
perftemplating: fix the revisions argument Before this change, the argument passed to log where a string instead of a list of string. This meant only single character rev were supported... We now properly accepts argument of any length. We also make it possible to specify multiple REV arguments in the same go.
Sat, 09 Jun 2018 15:14:31 +0530 py3: make sure util.username() always returns bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 15:14:31 +0530] rev 38252
py3: make sure util.username() always returns bytes Differential Revision: https://phab.mercurial-scm.org/D3706
Sat, 09 Jun 2018 15:01:04 +0530 py3: add b'' prefix to make the regex bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 15:01:04 +0530] rev 38251
py3: add b'' prefix to make the regex bytes # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3705
Tue, 05 Jun 2018 02:50:25 +0200 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net> [Tue, 05 Jun 2018 02:50:25 +0200] rev 38250
phases: use "published" in the phase movement message Using "published" seems smoother than "became public" and more in line with the "phase.publishing" configuration.
Tue, 05 Jun 2018 01:49:52 +0200 phase: clarify the message about movement on command changeset
Boris Feld <boris.feld@octobus.net> [Tue, 05 Jun 2018 01:49:52 +0200] rev 38249
phase: clarify the message about movement on command changeset The current message is a bit generic. Since we only print it for phase movement on changeset already common before the pull, we add "local" to the message in and attempt to clarify what changeset the phase movement affected.
Sun, 29 Apr 2018 00:29:40 -0400 fuzz: try and generate an interesting mpatch seed from a repo
Augie Fackler <augie@google.com> [Sun, 29 Apr 2018 00:29:40 -0400] rev 38248
fuzz: try and generate an interesting mpatch seed from a repo Differential Revision: https://phab.mercurial-scm.org/D3697
Sun, 29 Apr 2018 00:04:16 -0400 fuzz: structured helpers for creating mpatch seed corpus entries
Augie Fackler <augie@google.com> [Sun, 29 Apr 2018 00:04:16 -0400] rev 38247
fuzz: structured helpers for creating mpatch seed corpus entries Maybe this is better. I'm not sold, honestly. Differential Revision: https://phab.mercurial-scm.org/D3696
Sat, 28 Apr 2018 22:35:14 -0400 fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 22:35:14 -0400] rev 38246
fuzz: new fuzzer for the mpatch code Differential Revision: https://phab.mercurial-scm.org/D3695
Thu, 07 Jun 2018 21:09:16 +0200 run-tests: follow-up on the test-case format
Boris Feld <boris.feld@octobus.net> [Thu, 07 Jun 2018 21:09:16 +0200] rev 38245
run-tests: follow-up on the test-case format It turns out the original regex doesn't support real test cases names like the one Mercurial is using. Update the regex to being able to precisely select them on the command line. Differential Revision: https://phab.mercurial-scm.org/D3699
Fri, 04 May 2018 12:43:15 +0900 templater: resolve type of dict key in getmember()
Yuya Nishihara <yuya@tcha.org> [Fri, 04 May 2018 12:43:15 +0900] rev 38244
templater: resolve type of dict key in getmember() This seems more correct and is consistent with the future wrapped.contains() function, where a key type has to be resolved depending on a container type.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 tip