Wed, 25 Sep 2019 03:58:46 +0200 copies: move file input processsing early
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:58:46 +0200] rev 43027
copies: move file input processsing early If we are to store the same kind of data outside of extra, we need to explicitly prepare them before that. On the long run, other storage (eg: sidedata) might use a different encoding to store this information, since the constraint from extra does not apply to it. Differential Revision: https://phab.mercurial-scm.org/D6937
Wed, 25 Sep 2019 03:48:41 +0200 copies: prepare changelog for more copies storage mode
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:48:41 +0200] rev 43026
copies: prepare changelog for more copies storage mode We want to store copies information in sidedata, the logic will be quite similar to the one used for extra, but sightly different (not in extra, no hash impact). We start with small refactoring to make our work easier and the coming changesets cleaners. Differential Revision: https://phab.mercurial-scm.org/D6936
Fri, 27 Sep 2019 05:17:30 +0200 vfs: give all vfs an options attribute by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 05:17:30 +0200] rev 43025
vfs: give all vfs an options attribute by default Multiple code path assume vfs have an options attribute, including the vfs module itself. So for consistency we explicitly add one to all vfs. This will prevent various crash in the next changesets. Differential Revision: https://phab.mercurial-scm.org/D6935
Fri, 27 Sep 2019 06:24:42 +0200 revlog: explicitly set revlogv0 in vfs options
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 06:24:42 +0200] rev 43024
revlog: explicitly set revlogv0 in vfs options Relying on having an attribute or not for something so fundamental seems too fragile to me. (And indeed I had issue with that later in this series). So we explicitly record the fact the repository use revlog-v0. Differential Revision: https://phab.mercurial-scm.org/D6934
Fri, 27 Sep 2019 00:11:03 +0200 context: clarify the various mode in the _copies property cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:11:03 +0200] rev 43023
context: clarify the various mode in the _copies property cache The previous code was compact but a bit dense. The new proposed code deal with each mode separately, there are some duplicated lines, but the meaning of each mode stand out. One of the benefit it to make it simpler to add further mode in the future. Differential Revision: https://phab.mercurial-scm.org/D6933
Fri, 27 Sep 2019 00:09:43 +0200 context: clarify the various mode in the filesremoved method
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:09:43 +0200] rev 43022
context: clarify the various mode in the filesremoved method The previous code was compact but a bit dense. The new proposed code deal with each mode separately, there are some duplicated lines, but the meaning of each mode stand out. One of the benefit it to make it simpler to add further mode in the future. Differential Revision: https://phab.mercurial-scm.org/D6932
Fri, 27 Sep 2019 00:06:02 +0200 context: clarify the various mode in the filesadded method
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:06:02 +0200] rev 43021
context: clarify the various mode in the filesadded method The previous code was compact but a bit dense. The new proposed code deal with each mode separately, there are some duplicated lines, but the meaning of each mode stand out. One of the benefit it to make it simpler to add further mode in the future. Differential Revision: https://phab.mercurial-scm.org/D6931
Thu, 26 Sep 2019 23:43:32 +0200 copies: expand the logic of usechangesetcentricalgo
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Sep 2019 23:43:32 +0200] rev 43020
copies: expand the logic of usechangesetcentricalgo Using intermediate variable is clearer and will make is simple to expand the logic. Differential Revision: https://phab.mercurial-scm.org/D6930
Mon, 30 Sep 2019 00:01:58 +0200 patchbomb: protect email addresses from shell
Floris Bruynooghe <flub@google.com> [Mon, 30 Sep 2019 00:01:58 +0200] rev 43019
patchbomb: protect email addresses from shell When patchbomb sends email via a sendmail-like program it invokes this using procutil.popen which passes the string to a shell to be parsed. To protect any special characters in the email addresses on the command line from being interpretered by the shell they must be quoted.
Sun, 29 Sep 2019 11:29:25 -0700 automation: support and use Debian Buster by default
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:29:25 -0700] rev 43018
automation: support and use Debian Buster by default While Debian Buster (Debian 10) was released in July, the AWS AMIs were not published until mid September. This commit teaches the automation system to create AMIs for Debian Buster. Since Debian Buster is the new stable Debian release, we make it the default distribution for automation. Differential Revision: https://phab.mercurial-scm.org/D6917
Sun, 29 Sep 2019 11:24:14 -0700 automation: use latest AMIs
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:24:14 -0700] rev 43017
automation: use latest AMIs This cuts down on the overhead to create a new AMI, as we don't have to install as many package upgrades. Differential Revision: https://phab.mercurial-scm.org/D6916
Sun, 29 Sep 2019 11:06:45 -0700 automation: increase size of Linux AMI build volume
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:06:45 -0700] rev 43016
automation: increase size of Linux AMI build volume I ran out of space attempting to build a few AMIs. Let's give the environment an extra 2 GB to utilize. Differential Revision: https://phab.mercurial-scm.org/D6915
Sun, 29 Sep 2019 10:37:38 -0700 automation: install awscli and python3-boto3 packages
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:37:38 -0700] rev 43015
automation: install awscli and python3-boto3 packages This provides the `aws` command-line utility as well as a Python library for interacting with AWS. It is useful to have these packages installed in AMIs so you can easily interact with other AWS services. Differential Revision: https://phab.mercurial-scm.org/D6914
Sun, 29 Sep 2019 10:28:01 -0700 automation: upgrade packages in Linux environment
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:28:01 -0700] rev 43014
automation: upgrade packages in Linux environment Let's stay modern. Differential Revision: https://phab.mercurial-scm.org/D6913
Sun, 29 Sep 2019 10:21:18 -0700 automation: remove Ubuntu 18.10
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:21:18 -0700] rev 43013
automation: remove Ubuntu 18.10 It reached end of life on July 18, 2019. I don't think we should care about supporting it. Differential Revision: https://phab.mercurial-scm.org/D6912
Sun, 29 Sep 2019 10:19:02 -0700 automation: always install docker-ce
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:19:02 -0700] rev 43012
automation: always install docker-ce Docker has published packages for Ubuntu Disco and we no longer need this one-off. Differential Revision: https://phab.mercurial-scm.org/D6911
Sun, 29 Sep 2019 10:17:20 -0700 automation: use LSB_RELEASE instead of DEBIAN_VERSION
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:17:20 -0700] rev 43011
automation: use LSB_RELEASE instead of DEBIAN_VERSION This should be more robust since I believe the minor version can change mid release. Differential Revision: https://phab.mercurial-scm.org/D6910
Sun, 29 Sep 2019 12:34:52 -0700 tests: use silenttestrunner in test-simplemerge.py
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:34:52 -0700] rev 43010
tests: use silenttestrunner in test-simplemerge.py The time monkeypatching doesn't appear to work reliably in Python 3, possibly due to unittest using a different time function. This makes the test intermittent due to the execution time not always being `0.00s`. We have our own wrapper around unittest for more deterministic test output. So let's use it. As a bonus, all test output disappeared, so we can remove the .out file! Differential Revision: https://phab.mercurial-scm.org/D6921
Sun, 29 Sep 2019 12:25:29 -0700 contrib: use pycompat.xrange in bdiff-torture.py
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:25:29 -0700] rev 43009
contrib: use pycompat.xrange in bdiff-torture.py For Python 3 compatibility. Differential Revision: https://phab.mercurial-scm.org/D6920
Sun, 29 Sep 2019 12:22:21 -0700 interfaces: use triple quotes for Attribute value
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:22:21 -0700] rev 43008
interfaces: use triple quotes for Attribute value Otherwise the source transformer converts it to bytes and test-check-interfaces.py complains on Python 3. Differential Revision: https://phab.mercurial-scm.org/D6919
Sun, 29 Sep 2019 12:19:45 -0700 tests: suppress output from write()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:19:45 -0700] rev 43007
tests: suppress output from write() Otherwise it is printed and the test fails with tons of output on Python 3. Differential Revision: https://phab.mercurial-scm.org/D6918
Sun, 29 Sep 2019 12:04:43 -0700 tests: look for additional pip warning variant
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:04:43 -0700] rev 43006
tests: look for additional pip warning variant The wording has been tweaked in new versions of pip. Differential Revision: https://phab.mercurial-scm.org/D6909
Sun, 29 Sep 2019 12:00:18 -0700 tests: use test harness `hg` in test-hghave.t
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:00:18 -0700] rev 43005
tests: use test harness `hg` in test-hghave.t This prevents the sub test harness from rebuilding Mercurial. It shaves ~30s from the test wall time on my machine. Differential Revision: https://phab.mercurial-scm.org/D6908
Sat, 28 Sep 2019 21:13:27 -0700 synthrepo: use pycompat.xrange
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 28 Sep 2019 21:13:27 -0700] rev 43004
synthrepo: use pycompat.xrange This silences some test-check-pyflakes.t warnings on Python 3. Differential Revision: https://phab.mercurial-scm.org/D6907
Fri, 27 Sep 2019 00:40:52 +0200 perf: fix perfhelper-pathcopies without --stats
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:40:52 +0200] rev 43003
perf: fix perfhelper-pathcopies without --stats Some conditional were missing.
Fri, 27 Sep 2019 19:59:53 +0200 upgrade: also register copied `.d` files to fncache
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 19:59:53 +0200] rev 43002
upgrade: also register copied `.d` files to fncache Oops, we forgot to register data file when blanky copying revlog. Now that we are actually copying these `.d` files, we should also register them. Differential Revision: https://phab.mercurial-scm.org/D6905
Fri, 27 Sep 2019 21:32:56 +0200 upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:32:56 +0200] rev 43001
upgrade: fix handling of `.d` data file The test did not used any `.d` file. So of course, their handling was broken (for vfs encoding reason again). We fix the issue and update the test. Note that some fncache issue remains with `.d` file. It will be taken care of in the next changesets. Differential Revision: https://phab.mercurial-scm.org/D6904
Fri, 27 Sep 2019 21:14:23 +0200 upgrade: also copy data file
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:14:23 +0200] rev 43000
upgrade: also copy data file Differential Revision: https://phab.mercurial-scm.org/D6903
Fri, 27 Sep 2019 21:14:03 +0200 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:14:03 +0200] rev 42999
upgrade: create the correct destination directory for copies revlogs The encoding in vfs mess up with the directory we are trying to create manually. We could duplicate the advanced logic some more, but that seems ill fated. Instead, we let the vfs deal with directory creation. We update the test to contains a name affected by encoding. Differential Revision: https://phab.mercurial-scm.org/D6902
Fri, 27 Sep 2019 13:16:37 +0200 upgrade: fix DELTAREUSEFULLADD implementation in revlog.clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:16:37 +0200] rev 42998
upgrade: fix DELTAREUSEFULLADD implementation in revlog.clone If we do a full addition, we need to start from the full text. Differential Revision: https://phab.mercurial-scm.org/D6901
Fri, 27 Sep 2019 13:10:47 +0200 upgrade: document DELTAREUSEFULLADD in revlog.clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:10:47 +0200] rev 42997
upgrade: document DELTAREUSEFULLADD in revlog.clone The documentation of the `debugupgraderepo` command was updated when `re-delta-fulladd` was introduced. However, the docstring of the `revlog.clone` method was not. Differential Revision: https://phab.mercurial-scm.org/D6900
Fri, 27 Sep 2019 12:41:20 +0200 upgrade: move most of revlog.clone method into a _clone method
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:41:20 +0200] rev 42996
upgrade: move most of revlog.clone method into a _clone method The content of the clone method now focus on parameters validation and processing. The `_clone` method focus on the actual cloning logic. Splitting the method out save some indentation and clarify each method code since it a focussed on one goal. Differential Revision: https://phab.mercurial-scm.org/D6899
Sat, 07 Sep 2019 00:34:20 +0200 flagprocessors: remove flagprocessorsmixin
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:34:20 +0200] rev 42995
flagprocessors: remove flagprocessorsmixin It became an empty shell. Differential Revision: https://phab.mercurial-scm.org/D6823
Sat, 07 Sep 2019 00:26:15 +0200 flagprocessors: move _flagserrorclass attribute on revlog & co
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:26:15 +0200] rev 42994
flagprocessors: move _flagserrorclass attribute on revlog & co This is a small duplication, and the last bit we need to get rid of the mixin. Honestly, I am not fan of that class attribute and it mostly exist to accomodate The simple-storage whose usage of flag processors is dumbious and that is currently dead code anyway. However I don't want to be pulled into futher unrelated cleaning so it is a small price to pay. Differential Revision: https://phab.mercurial-scm.org/D6822
Sat, 07 Sep 2019 00:22:38 +0200 flagprocessors: directly duplicate the deprecated layer back into revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:22:38 +0200] rev 42993
flagprocessors: directly duplicate the deprecated layer back into revlog The code duplication benign and will get removed in a couple of month anyway. Differential Revision: https://phab.mercurial-scm.org/D6821
Sat, 07 Sep 2019 00:16:32 +0200 flagprocessors: make `processflagsraw` a module level function
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:16:32 +0200] rev 42992
flagprocessors: make `processflagsraw` a module level function One more steps toward removing the mixin. Differential Revision: https://phab.mercurial-scm.org/D6820
Sat, 07 Sep 2019 00:11:58 +0200 flagprocessors: make `processflagsread` a module level function
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:11:58 +0200] rev 42991
flagprocessors: make `processflagsread` a module level function One more steps toward removing the mixin. Differential Revision: https://phab.mercurial-scm.org/D6819
Fri, 06 Sep 2019 23:50:32 +0200 flagprocessors: make `processflagswrite` a module level function
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Sep 2019 23:50:32 +0200] rev 42990
flagprocessors: make `processflagswrite` a module level function One more step towards removing the mixin. Differential Revision: https://phab.mercurial-scm.org/D6818
Fri, 06 Sep 2019 23:43:06 +0200 flagprocessors: make `_processflagsfunc` a module level function
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Sep 2019 23:43:06 +0200] rev 42989
flagprocessors: make `_processflagsfunc` a module level function This is the first step toward removing the flag processing mixin. Differential Revision: https://phab.mercurial-scm.org/D6817
Wed, 04 Sep 2019 00:53:27 +0200 flagprocessors: writetransform function take side data as parameter (API)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:53:27 +0200] rev 42988
flagprocessors: writetransform function take side data as parameter (API) If we want some flag processors to be able to store sidedata it needs to be actually fed that data. Differential Revision: https://phab.mercurial-scm.org/D6816
Tue, 03 Sep 2019 23:51:17 +0200 flagprocessors: add a `sidedata` parameters to _processflagswrite
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 23:51:17 +0200] rev 42987
flagprocessors: add a `sidedata` parameters to _processflagswrite To read sidedata using flagprocessors, we need flag processors to store them. So we pass this information to the flag processing layer. Differential Revision: https://phab.mercurial-scm.org/D6815
Tue, 03 Sep 2019 23:51:34 +0200 revlog: add a `sidedata` parameters to addrevision
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 23:51:34 +0200] rev 42986
revlog: add a `sidedata` parameters to addrevision If we want to eventually store sidedata we need to be able to pass them along. Differential Revision: https://phab.mercurial-scm.org/D6814
Wed, 04 Sep 2019 00:34:03 +0200 flagprocessors: have the read transform function return side data (API)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:34:03 +0200] rev 42985
flagprocessors: have the read transform function return side data (API) This makes it possible for flag processors to -read- flag data. Differential Revision: https://phab.mercurial-scm.org/D6813
Wed, 04 Sep 2019 00:13:45 +0200 flagprocessors: return flagdata in the main processing function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:13:45 +0200] rev 42984
flagprocessors: return flagdata in the main processing function This function input and return are becoming stranger and stranger bnut I don't have a good plan to make is saner without problematic code duplication, so it will be this way to now. Differential Revision: https://phab.mercurial-scm.org/D6812
Tue, 03 Sep 2019 22:55:04 +0200 flagprocessors: return sidedata map in `_processflagsread`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:55:04 +0200] rev 42983
flagprocessors: return sidedata map in `_processflagsread` Right now, flag processors does not return sidedata, by they will. So, we prepare the caller to receive it. Differential Revision: https://phab.mercurial-scm.org/D6811
Tue, 03 Sep 2019 22:36:41 +0200 revlog: use the new sidedata map return in the sidedata method
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:36:41 +0200] rev 42982
revlog: use the new sidedata map return in the sidedata method So far things, seems logical. Differential Revision: https://phab.mercurial-scm.org/D6810
Tue, 03 Sep 2019 22:54:04 +0200 revlog: return sidedata map from `_revisiondata`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:54:04 +0200] rev 42981
revlog: return sidedata map from `_revisiondata` Nothing extra any side data yet. However, it will happens in the future. So we better prepare the callers of the `_revisiondata` to deal with it. Differential Revision: https://phab.mercurial-scm.org/D6809
Tue, 03 Sep 2019 22:36:27 +0200 revlog: introduce a `sidedata` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:36:27 +0200] rev 42980
revlog: introduce a `sidedata` method The method give access to extra information related to the revision. Such data will not be part of the hash be strongly related to the revision. Having them stored at the revlog level helps the storage consistency story and simplify various things. Example of data we could store there: - copy tracing related informations - graph structure related information (useful for discovery) - unresolved conflict data The full implementation will be introduced gradually in the coming changesets. Differential Revision: https://phab.mercurial-scm.org/D6808
Wed, 25 Sep 2019 14:35:08 -0700 update: clarify calculateupdate() call sites by specifying argument names
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Sep 2019 14:35:08 -0700] rev 42979
update: clarify calculateupdate() call sites by specifying argument names merge.calculateupdate() takes a lot of parameters and I get confused all the time which is which. See also b14fdf1fb615 (update: clarify update() call sites by specifying argument names, 2017-02-09). Differential Revision: https://phab.mercurial-scm.org/D6883
Wed, 25 Sep 2019 17:57:16 -0400 bookmarks: remove changectx() method from bmstore (API)
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 17:57:16 -0400] rev 42978
bookmarks: remove changectx() method from bmstore (API) All the callsites of this method have access to the repo, and I'd rather not have to duplicate this across alternative bmstore implementations. Besides, it feels like a bit of a layering violation. .. api:: `mercurial.bookmarks.bmstore` no longer has a convenience method for looking up changectx instances from a bookmark name. Use `repo[repo.bookmarks[name]]` intead of `repo.bookmarks.changectx(name)`. Differential Revision: https://phab.mercurial-scm.org/D6884
Wed, 25 Sep 2019 13:50:48 -0400 histedit: sniff-test for untracked file conflicts before prompting for rules
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 13:50:48 -0400] rev 42977
histedit: sniff-test for untracked file conflicts before prompting for rules This bug is as old as histedit, which is more than 10 years! I'm a little sad about the extra calculations here that we're just going to throw out, but I don't see any better way to look for untracked file conflicts and I want the bug fixed. Differential Revision: https://phab.mercurial-scm.org/D6882
Mon, 23 Sep 2019 16:29:16 -0400 histedit: demonstrate breakage when `update` to a revision breaks
Augie Fackler <augie@google.com> [Mon, 23 Sep 2019 16:29:16 -0400] rev 42976
histedit: demonstrate breakage when `update` to a revision breaks I'm honestly impressed that nobody has hit this in the over a decade that histedit has existed, but here we are. Differential Revision: https://phab.mercurial-scm.org/D6881
Wed, 25 Sep 2019 10:59:29 -0400 rebase: track new nodes when --keep is set
Paul Gossman <pgossman@janestreet.com> [Wed, 25 Sep 2019 10:59:29 -0400] rev 42975
rebase: track new nodes when --keep is set When --keep is passed with rebase, the new nodes created are not accessible from templates. This change enables accessing the newly-created nodes from nodechanges, just as if --keep was not set. Differential Revision: https://phab.mercurial-scm.org/D6880
Sat, 21 Sep 2019 13:42:23 -0400 uncommit: fix typo in help text
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Sep 2019 13:42:23 -0400] rev 42974
uncommit: fix typo in help text Differential Revision: https://phab.mercurial-scm.org/D6874
Tue, 24 Sep 2019 22:41:07 -0400 phabricator: use exthelper to register commands, config, and templates
Matt Harbison <matt_harbison@yahoo.com> [Tue, 24 Sep 2019 22:41:07 -0400] rev 42973
phabricator: use exthelper to register commands, config, and templates Differential Revision: https://phab.mercurial-scm.org/D6875
Wed, 25 Sep 2019 11:04:08 -0400 merge: check argument value with if/raise instead of an assert
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 11:04:08 -0400] rev 42972
merge: check argument value with if/raise instead of an assert This shouldn't make any difference for legal code, but it'll prevent the assertion from being optimized out if someone decides to do -O on our code. Differential Revision: https://phab.mercurial-scm.org/D6879
(0) -30000 -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 tip