Fri, 13 Oct 2017 12:34:22 -0700 context: add overlayfilectx.cmp()
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:34:22 -0700] rev 34783
context: add overlayfilectx.cmp() Differential Revision: https://phab.mercurial-scm.org/D1058
Mon, 16 Oct 2017 13:10:55 -0700 filemerge: use arbitraryfilectx for backups
Phil Cohen <phillco@fb.com> [Mon, 16 Oct 2017 13:10:55 -0700] rev 34782
filemerge: use arbitraryfilectx for backups With in-memory merge, backup files might be overlayworkingfilectxs stored in memory. But they could also be real files if the user's backup directory is outside the working dir. Rather than have two code paths everywhere, let's use arbitraryfilectx so they can be consistent. Differential Revision: https://phab.mercurial-scm.org/D1057
Wed, 20 Sep 2017 04:47:43 +0530 registrar: add support for storing the type of command in func object
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 20 Sep 2017 04:47:43 +0530] rev 34781
registrar: add support for storing the type of command in func object This patch adds support for storing the type of command which is going to run in the func object. For this it does the following: 1) Add three possible values as attributes to the registrar.command class 2) Add a new argument to registrar.command._doregister function 3) Add a new attribute cmdtype to the func object The type of command will be helpful in deciding what level of access on hidden commits it can has. Differential Revision: https://phab.mercurial-scm.org/D736
Mon, 16 Oct 2017 22:19:02 +0530 releasenotes: fix documentation of similaritycheck()
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 16 Oct 2017 22:19:02 +0530] rev 34780
releasenotes: fix documentation of similaritycheck() The function document says that it returns true when the fragment can be merged, but if you see the function just above it which is similar(), it writes already exists thing if return value from similaritycheck() is False which is just opposite of the doc. This patch fixes that. Differential Revision: https://phab.mercurial-scm.org/D1119
Sat, 14 Oct 2017 01:15:01 +0200 configitems: register acl config section
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 01:15:01 +0200] rev 34779
configitems: register acl config section
Sat, 14 Oct 2017 00:34:46 +0200 configitems: register the 'extdata.*.diffargs' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:34:46 +0200] rev 34778
configitems: register the 'extdata.*.diffargs' config
Sat, 14 Oct 2017 00:33:57 +0200 configitems: register the 'exdiff.opts.*' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:33:57 +0200] rev 34777
configitems: register the 'exdiff.opts.*' config
Sat, 14 Oct 2017 00:30:14 +0200 configitems: register the 'hostsecurity.*:verifycertsfile' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:30:14 +0200] rev 34776
configitems: register the 'hostsecurity.*:verifycertsfile' config
Sat, 14 Oct 2017 00:29:31 +0200 configitems: register the 'hostsecurity.*:fingerprints' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:29:31 +0200] rev 34775
configitems: register the 'hostsecurity.*:fingerprints' config
Sat, 14 Oct 2017 00:28:48 +0200 configitems: register the 'hostsecurity.*:ciphers' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:28:48 +0200] rev 34774
configitems: register the 'hostsecurity.*:ciphers' config
Sat, 14 Oct 2017 00:28:13 +0200 configitems: register the 'hostsecurity.*:minimumprotocol' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:28:13 +0200] rev 34773
configitems: register the 'hostsecurity.*:minimumprotocol' config
Sat, 14 Oct 2017 00:16:12 +0200 configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:16:12 +0200] rev 34772
configitems: register the test 'fakepatchtime.fakenow' config
Sat, 14 Oct 2017 00:15:37 +0200 configitems: register the test 'fakedirstatewritetime.fakenow' config
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 00:15:37 +0200] rev 34771
configitems: register the test 'fakedirstatewritetime.fakenow' config
Fri, 13 Oct 2017 23:26:16 +0200 configitems: register the 'gpg' arbitraty key section
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:26:16 +0200] rev 34770
configitems: register the 'gpg' arbitraty key section
Fri, 13 Oct 2017 23:23:48 +0200 configitems: register the 'extdata' section
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:23:48 +0200] rev 34769
configitems: register the 'extdata' section
Fri, 13 Oct 2017 23:33:31 +0200 configitems: fix registration of extensions config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:33:31 +0200] rev 34768
configitems: fix registration of extensions config The new 'itemregister' class should be used when loading the extension config. This was and oversight when itemregister was introduced.
Wed, 11 Oct 2017 23:33:59 +0200 configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 23:33:59 +0200] rev 34767
configitems: register the test config in 'test-push-race.t'
Wed, 11 Oct 2017 04:33:00 +0200 configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 04:33:00 +0200] rev 34766
configitems: register the test 'ui.ioerrors' config
Fri, 13 Oct 2017 23:53:06 +0200 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:53:06 +0200] rev 34765
configitems: register the test 'failafterfinalize.fail' config
Fri, 13 Oct 2017 23:46:37 +0200 configitems: register the test 'logtoprocess.foo' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:46:37 +0200] rev 34764
configitems: register the test 'logtoprocess.foo' config
Fri, 13 Oct 2017 23:10:49 +0200 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:10:49 +0200] rev 34763
configitems: register the test 'failpush.reason' config
Fri, 13 Oct 2017 23:07:12 +0200 configitems: register the 'patchbomb.reply-to' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:07:12 +0200] rev 34762
configitems: register the 'patchbomb.reply-to' config
Fri, 13 Oct 2017 23:07:01 +0200 configitems: register the 'patchbomb.cc' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:07:01 +0200] rev 34761
configitems: register the 'patchbomb.cc' config
Fri, 13 Oct 2017 23:06:40 +0200 configitems: register the 'patchbomb.bcc' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:06:40 +0200] rev 34760
configitems: register the 'patchbomb.bcc' config
Fri, 13 Oct 2017 23:03:46 +0200 configitems: register the 'web.staticurl' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:03:46 +0200] rev 34759
configitems: register the 'web.staticurl' config
Thu, 12 Oct 2017 00:38:18 +0200 configitems: register the 'experimental.uncommitondirtywdir' config
Boris Feld <boris.feld@octobus.net> [Thu, 12 Oct 2017 00:38:18 +0200] rev 34758
configitems: register the 'experimental.uncommitondirtywdir' config
Fri, 13 Oct 2017 22:28:03 +0200 configitems: register the 'largefiles.usercache' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 22:28:03 +0200] rev 34757
configitems: register the 'largefiles.usercache' config
Fri, 13 Oct 2017 22:26:58 +0200 configitems: register the 'largefiles.patterns' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 22:26:58 +0200] rev 34756
configitems: register the 'largefiles.patterns' config
Fri, 13 Oct 2017 22:26:03 +0200 configitems: register the 'largefiles.minsize' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 22:26:03 +0200] rev 34755
configitems: register the 'largefiles.minsize' config
Fri, 13 Oct 2017 21:50:43 +0200 configitem: register the 'notify.changegroup' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 21:50:43 +0200] rev 34754
configitem: register the 'notify.changegroup' config
Fri, 13 Oct 2017 21:50:32 +0200 configitem: register the 'notify.outgoing' config
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 21:50:32 +0200] rev 34753
configitem: register the 'notify.outgoing' config
Thu, 12 Oct 2017 00:57:49 +0200 configitem: register the 'notify.incoming' config
Boris Feld <boris.feld@octobus.net> [Thu, 12 Oct 2017 00:57:49 +0200] rev 34752
configitem: register the 'notify.incoming' config
Thu, 12 Oct 2017 00:44:45 +0200 configitems: register the 'hgweb-paths' section
Boris Feld <boris.feld@octobus.net> [Thu, 12 Oct 2017 00:44:45 +0200] rev 34751
configitems: register the 'hgweb-paths' section
Fri, 13 Oct 2017 21:32:29 +0200 contrib-perf: register the 'parentscount' config item
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 21:32:29 +0200] rev 34750
contrib-perf: register the 'parentscount' config item
Fri, 13 Oct 2017 21:31:24 +0200 contrib-perf: update the config registration
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 21:31:24 +0200] rev 34749
contrib-perf: update the config registration There are various issue with the previous code, all hidden by the try-except clause. These are fixed now.
Thu, 12 Oct 2017 00:20:41 +0200 configitems: register the 'hostfingerprints' section
Boris Feld <boris.feld@octobus.net> [Thu, 12 Oct 2017 00:20:41 +0200] rev 34748
configitems: register the 'hostfingerprints' section
Thu, 12 Oct 2017 00:19:12 +0200 configitems: register the 'hostsecurity.minimumprotocol' config
Boris Feld <boris.feld@octobus.net> [Thu, 12 Oct 2017 00:19:12 +0200] rev 34747
configitems: register the 'hostsecurity.minimumprotocol' config
Wed, 11 Oct 2017 22:53:17 +0200 configitems: register the 'progress.format' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 22:53:17 +0200] rev 34746
configitems: register the 'progress.format' config
Wed, 11 Oct 2017 22:51:23 +0200 configitems: register the 'blackbox.maxfiles' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 22:51:23 +0200] rev 34745
configitems: register the 'blackbox.maxfiles' config
Sun, 15 Oct 2017 00:43:01 -0400 hgweb: fix decodevaluefromheaders to always return a bytes value
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:43:01 -0400] rev 34744
hgweb: fix decodevaluefromheaders to always return a bytes value That's more in line with what we want, and we know it's ASCII data since that's all HTTP technically allows in headers anyway. Differential Revision: https://phab.mercurial-scm.org/D1112
Sun, 15 Oct 2017 00:42:25 -0400 hgweb: more "headers are native strs" cleanup
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:42:25 -0400] rev 34743
hgweb: more "headers are native strs" cleanup I'll fix the decodevaluefromheaders function in an upcoming change. Differential Revision: https://phab.mercurial-scm.org/D1111
Sun, 15 Oct 2017 00:41:34 -0400 hgweb: when unpacking args from request form, convert to bytes
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:41:34 -0400] rev 34742
hgweb: when unpacking args from request form, convert to bytes We assume http-originated values are ASCII, which should be safe based on the RFC. Differential Revision: https://phab.mercurial-scm.org/D1110
Sun, 15 Oct 2017 00:39:53 -0400 wireproto: more strkwargs cleanup
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:39:53 -0400] rev 34741
wireproto: more strkwargs cleanup Differential Revision: https://phab.mercurial-scm.org/D1109
Sun, 15 Oct 2017 00:38:33 -0400 hgweb: more "http headers are native strs" cleanup
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:38:33 -0400] rev 34740
hgweb: more "http headers are native strs" cleanup Differential Revision: https://phab.mercurial-scm.org/D1108
Sun, 15 Oct 2017 00:05:43 -0400 wireproto: bounce kwargs to/from bytes/str as needed
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:05:43 -0400] rev 34739
wireproto: bounce kwargs to/from bytes/str as needed Differential Revision: https://phab.mercurial-scm.org/D1107
Mon, 16 Oct 2017 15:12:50 +0200 configitems: fixup default value of annotate config option
Boris Feld <boris.feld@octobus.net> [Mon, 16 Oct 2017 15:12:50 +0200] rev 34738
configitems: fixup default value of annotate config option It turned out that configbool is used for most of them so the registered default value was wrong.
Mon, 16 Oct 2017 15:35:08 +0200 transaction-summary: use a revset to filter obsoletes in reportnewcs()
Denis Laxalde <denis@laxalde.org> [Mon, 16 Oct 2017 15:35:08 +0200] rev 34737
transaction-summary: use a revset to filter obsoletes in reportnewcs() Thanks to Yuya Nishihara for suggesting.
Sun, 15 Oct 2017 20:32:10 +0530 releasenotes: add pager support when printing to the ui
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 20:32:10 +0530] rev 34736
releasenotes: add pager support when printing to the ui Differential Revision: https://phab.mercurial-scm.org/D1098
Fri, 13 Oct 2017 22:08:55 +0200 configitems: fixup default value of diff config option
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 22:08:55 +0200] rev 34735
configitems: fixup default value of diff config option It turned out that configbool is used for most of them so the registered default value was wrong.
Sun, 08 Oct 2017 21:42:32 +0200 devel-warn: add 'warn-' to 'devel.empty-changegroup' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:42:32 +0200] rev 34734
devel-warn: add 'warn-' to 'devel.empty-changegroup' config Rename 'devel.empty-changegroup' to 'devel.warn-empty- changegroup' in order to clarify it controls a warning message. No alias is installed since the previous configuration option was not documented.
Sun, 15 Oct 2017 00:05:00 -0400 peer: ensure command names are always ascii bytestrs
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:05:00 -0400] rev 34733
peer: ensure command names are always ascii bytestrs Differential Revision: https://phab.mercurial-scm.org/D1104
Sun, 15 Oct 2017 00:03:31 -0400 httppeer: always produce native str header keys and values
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:03:31 -0400] rev 34732
httppeer: always produce native str header keys and values Differential Revision: https://phab.mercurial-scm.org/D1103
Sun, 15 Oct 2017 00:40:07 -0400 wireproto: use %d to encode int, not %s
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:40:07 -0400] rev 34731
wireproto: use %d to encode int, not %s Differential Revision: https://phab.mercurial-scm.org/D1102
Sun, 15 Oct 2017 00:06:06 -0400 wireproto: use a proper exception instead of `assert False`
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:06:06 -0400] rev 34730
wireproto: use a proper exception instead of `assert False` Differential Revision: https://phab.mercurial-scm.org/D1101
Sun, 15 Oct 2017 00:39:29 -0400 wireproto: use listcomp instead of map()
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:39:29 -0400] rev 34729
wireproto: use listcomp instead of map() The latter returns a generator object on Python 3, which breaks various parts of hg that expected a list. Differential Revision: https://phab.mercurial-scm.org/D1100
Sun, 15 Oct 2017 00:37:24 -0400 dagutil: use a listcomp instead of a map()
Augie Fackler <augie@google.com> [Sun, 15 Oct 2017 00:37:24 -0400] rev 34728
dagutil: use a listcomp instead of a map() In Python 3, the map() returns a generator object instead of a list, and some parts of hg depend on this being consumable more than once or sortable in place. Differential Revision: https://phab.mercurial-scm.org/D1099
Sat, 14 Oct 2017 12:03:42 -0400 peer: when collecting method names for batch calls, bytes-ify __name__
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 12:03:42 -0400] rev 34727
peer: when collecting method names for batch calls, bytes-ify __name__ This will explode violently if we have a non-ascii command name. That shouldn't ever happen in core, and seems unlikely even in third-party code. Regardless, it'll explode violently, so we can revisit things in the future if we need to change the encoding here. Differential Revision: https://phab.mercurial-scm.org/D1092
Sat, 14 Oct 2017 12:02:15 -0400 python3: replace im_{self,func} with __{self,func}__ globally
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 12:02:15 -0400] rev 34726
python3: replace im_{self,func} with __{self,func}__ globally These new names are portable back to Python 2.6. Differential Revision: https://phab.mercurial-scm.org/D1091
Sat, 14 Oct 2017 12:00:35 -0400 httppeer: extract content-type from headers using native str
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 12:00:35 -0400] rev 34725
httppeer: extract content-type from headers using native str Differential Revision: https://phab.mercurial-scm.org/D1090
Sat, 14 Oct 2017 11:59:51 -0400 httppeer: convert request url back to bytes before inspecting it
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 11:59:51 -0400] rev 34724
httppeer: convert request url back to bytes before inspecting it Differential Revision: https://phab.mercurial-scm.org/D1089
Sat, 14 Oct 2017 11:30:17 -0400 templater: explode if we try to emit a str
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 11:30:17 -0400] rev 34723
templater: explode if we try to emit a str Without this if branch, we infinitely recurse in _flatten, which is very confusing. Something in an hgweb template is trying to write out a string instead of a bytes on Python 3, and this at least makes it crash politely. Differential Revision: https://phab.mercurial-scm.org/D1088
Sat, 14 Oct 2017 11:20:31 -0400 hgweb: fill in content-type and content-length as native strings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 11:20:31 -0400] rev 34722
hgweb: fill in content-type and content-length as native strings This lets me actually get a capabilities response from hgweb over http. Differential Revision: https://phab.mercurial-scm.org/D1087
Sat, 14 Oct 2017 10:47:29 -0400 hgweb: mimetype guessing needs a unicode path
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 10:47:29 -0400] rev 34721
hgweb: mimetype guessing needs a unicode path Differential Revision: https://phab.mercurial-scm.org/D1086
Sat, 14 Oct 2017 15:37:33 -0400 hgweb: set sent_headers attr as early as practical
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 15:37:33 -0400] rev 34720
hgweb: set sent_headers attr as early as practical While doing Python 3 porting work, I've seen exceptions happen in parts of hgweb we normally assume are robust. It won't hurt anything to set this attribute significantly earlier, so let's do so and save confusing during the porting process. Differential Revision: https://phab.mercurial-scm.org/D1085
Thu, 05 Oct 2017 14:53:52 -0400 hgweb: detect Python 3-era libraries and use modern attribute names
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:53:52 -0400] rev 34719
hgweb: detect Python 3-era libraries and use modern attribute names Differential Revision: https://phab.mercurial-scm.org/D1084
Sat, 14 Oct 2017 15:53:36 -0400 server: indent block that's about to get conditionalized
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 15:53:36 -0400] rev 34718
server: indent block that's about to get conditionalized Differential Revision: https://phab.mercurial-scm.org/D1083
Sat, 14 Oct 2017 18:41:20 +0900 templates: fix missed space between instability labels
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 18:41:20 +0900] rev 34717
templates: fix missed space between instability labels
Sat, 14 Oct 2017 18:24:01 +0900 templates: introduce labelcset() function in map-cmdline.default as example
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 18:24:01 +0900] rev 34716
templates: introduce labelcset() function in map-cmdline.default as example
Sat, 14 Oct 2017 18:06:42 +0900 templater: load aliases from [templatealias] section in map file
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 18:06:42 +0900] rev 34715
templater: load aliases from [templatealias] section in map file This seems sometimes useful as an alias can be a function, but a template fragment can't.
Sat, 14 Oct 2017 17:51:01 +0900 templater: load template fragments from [templates] section in map file
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 17:51:01 +0900] rev 34714
templater: load template fragments from [templates] section in map file This allows us to %include map-cmdline.<style> file in our .hgrc files. The syntax is slightly different as hgrc doesn't support loading an external template file, but map-cmdline files don't use this feature, so the syntax can be considered identical in practice. Unnamed section is remapped for backward compatibility.
Sat, 14 Oct 2017 17:41:41 +0900 config: allow remapping the default section
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 17:41:41 +0900] rev 34713
config: allow remapping the default section The next patch depends on it. It doesn't make sense that the default section can't be remapped with {'': whatever}.
Sat, 20 Aug 2016 18:33:02 +0900 templater: simplify merge of __base__ dicts by reading it first
Yuya Nishihara <yuya@tcha.org> [Sat, 20 Aug 2016 18:33:02 +0900] rev 34712
templater: simplify merge of __base__ dicts by reading it first
Sun, 08 Oct 2017 17:23:18 +0200 phase: add a dedicated pretxnclose-phase hook
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 17:23:18 +0200] rev 34711
phase: add a dedicated pretxnclose-phase hook This new hook mirror the newly introduced 'txnclose-phase' but can abort the transaction.
Sun, 08 Oct 2017 17:50:46 +0200 phase: add a dedicated txnclose-phase hook
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 17:50:46 +0200] rev 34710
phase: add a dedicated txnclose-phase hook The new 'txnclose-phase' hook expose the phase movement information stored in 'tr.changes['phases]'. To provide a simple and straightforward hook API to the users, we introduce a new hook called for each revision affected. Since a transaction can affect the phase of multiple changesets, updating the existing 'txnclose' hook to expose that information would be more complex. The data for all moves will not fit in environment variables and iterations over each move would be cumbersome. So the introduction of a new dedicated hook is preferred in this changesets. This does not exclude the addition of the full phase movement information to the existing 'txnclose' in the future to help write more complex hooks.
Sun, 08 Oct 2017 18:50:14 +0200 bookmark: add a dedicated pretxnclose-bookmark hook
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 18:50:14 +0200] rev 34709
bookmark: add a dedicated pretxnclose-bookmark hook This new hook mirror the newly introduced 'txnclose-bookmark' but can abort the transaction.
Tue, 10 Oct 2017 17:53:42 +0200 bookmark: add a dedicated txnclose-bookmark hook
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 17:53:42 +0200] rev 34708
bookmark: add a dedicated txnclose-bookmark hook The new 'txnclose-bookmark' hook expose the bookmark movement information stored in 'tr.changes['bookmarks]'. To provide a simple and straightforward hook API to the users, we introduce a new hook called for each bookmark touched. Since a transaction can affect multiple bookmarks, updating the existing 'txnclose' hook to expose that information would be more complex. The data for all moves might not fit in environment variables and iterations over each move would be cumbersome. So the introduction of a new dedicated hook is preferred in this changeset. This does not exclude the addition to the full bookmark information to the existing 'txnclose' in the future to help write more complex hooks.
Fri, 13 Oct 2017 15:58:54 -0400 tweakdefaults: make commands.update.check be `noconflict`
Augie Fackler <augie@google.com> [Fri, 13 Oct 2017 15:58:54 -0400] rev 34707
tweakdefaults: make commands.update.check be `noconflict` This is the second-safest option we have to offer in `updatecheck`, with `abort` being the safest and `linear` being the default. At the sprint we discussed how much `none` and `linear` make us all uncomfortable, and how we'd like to move the default behavior if we can. I'm not sure we can get away with actually changing the out of the box default behavior, but we can at *least* do this. Differential Revision: https://phab.mercurial-scm.org/D1062
Sat, 14 Oct 2017 15:43:06 -0400 hgweb: fix logging to use native strings as appropriate
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 15:43:06 -0400] rev 34706
hgweb: fix logging to use native strings as appropriate Kind of a tangled mess, but now logging works in both Python 2 and 3. # no-check-commit because of the interface required by Python's HTTP server code. Differential Revision: https://phab.mercurial-scm.org/D1080
Sat, 14 Oct 2017 03:13:50 -0400 config: graduate experimental.updatecheck to commands.update.check
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 03:13:50 -0400] rev 34705
config: graduate experimental.updatecheck to commands.update.check .. feature:: New `commands.update.check` feature to adjust constraints on when `hg update` will allow updates with a dirty working copy. also .. bc:: The `experimental.updatecheck` name for the new `commands.update.check` feature is now deprecated, and will be removed after this release. Differential Revision: https://phab.mercurial-scm.org/D1070
Sat, 14 Oct 2017 15:42:38 -0400 hgweb: rewrite most obviously-native-strings to be native strings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 15:42:38 -0400] rev 34704
hgweb: rewrite most obviously-native-strings to be native strings This clearly won't be everything, but it unblocks a fair amount of stuff here. Differential Revision: https://phab.mercurial-scm.org/D1079
Thu, 05 Oct 2017 14:48:52 -0400 hgweb: use native strings consistently for querystring parsing
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:48:52 -0400] rev 34703
hgweb: use native strings consistently for querystring parsing Differential Revision: https://phab.mercurial-scm.org/D1078
Thu, 05 Oct 2017 14:48:31 -0400 hgweb: rewrite two X or Y and Z ad-hoc ternaries with Y if X else Z
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:48:31 -0400] rev 34702
hgweb: rewrite two X or Y and Z ad-hoc ternaries with Y if X else Z Just easier to muddle through for my brain now that I don't see the old pattern much anymore. Differential Revision: https://phab.mercurial-scm.org/D1077
Sun, 01 Oct 2017 12:12:34 -0400 httppeer: use native strings for headers
Augie Fackler <augie@google.com> [Sun, 01 Oct 2017 12:12:34 -0400] rev 34701
httppeer: use native strings for headers On Python 3, we need to use unicodes, rather than bytes. This lets test-pull.t get a lot further along. Differential Revision: https://phab.mercurial-scm.org/D887
Thu, 05 Oct 2017 14:29:51 -0400 hgweb: more native string treatment in query string parsing
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:29:51 -0400] rev 34700
hgweb: more native string treatment in query string parsing Differential Revision: https://phab.mercurial-scm.org/D1076
Sat, 14 Oct 2017 14:07:39 -0400 httppeer: pass url to urllib as native str, not bytes
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 14:07:39 -0400] rev 34699
httppeer: pass url to urllib as native str, not bytes Differential Revision: https://phab.mercurial-scm.org/D1075
Sat, 14 Oct 2017 13:33:37 +0200 tersestatus: rework dirnode and tersedir docstrings
Denis Laxalde <denis@laxalde.org> [Sat, 14 Oct 2017 13:33:37 +0200] rev 34698
tersestatus: rework dirnode and tersedir docstrings Follow-up on refactorings 3d6d4b12128e and 5d98674df18a of the original changeset 7e3001b74ab3 by updating the docstrings of dirnode class and tersedir function: * rewrite dirnode.iterfilepaths()'s docstring (the method got renamed and reimplemented in 5d98674df18a); * simplify and update dirnode.tersewalk() to remove reference to 'self' and 'tersedict'; * use the imperative form of verbs in the first sentence of all docstrings. Differential Revision: https://phab.mercurial-scm.org/D1072
Wed, 04 Oct 2017 10:52:50 -0400 bitmanipulation: reformat with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 10:52:50 -0400] rev 34697
bitmanipulation: reformat with clang-format Mostly un-wrapping over-wrapped definitions. Differential Revision: https://phab.mercurial-scm.org/D1069
Mon, 14 Sep 2015 14:16:31 -0400 hghave: add a check for clang-format
Augie Fackler <augie@google.com> [Mon, 14 Sep 2015 14:16:31 -0400] rev 34696
hghave: add a check for clang-format Differential Revision: https://phab.mercurial-scm.org/D1068
Thu, 05 Oct 2017 14:16:20 -0400 python3: use our bytes-only version of cgi.escape everywhere
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:16:20 -0400] rev 34695
python3: use our bytes-only version of cgi.escape everywhere As suggested by Yuya in D965. Differential Revision: https://phab.mercurial-scm.org/D1067
Sat, 14 Oct 2017 02:57:26 -0400 url: add cgi.escape equivalent for bytestrings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 02:57:26 -0400] rev 34694
url: add cgi.escape equivalent for bytestrings This seems like a sensible enough place to put it. Differential Revision: https://phab.mercurial-scm.org/D1066
Thu, 05 Oct 2017 14:15:05 -0400 python3: move from using func_name to __name__
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:15:05 -0400] rev 34693
python3: move from using func_name to __name__ Previously reviewed as D964, but required some fixups and therefore seems to need a new revision. Differential Revision: https://phab.mercurial-scm.org/D1065
Sat, 14 Oct 2017 01:20:12 -0400 tests: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:20:12 -0400] rev 34692
tests: add globs for Windows
Sat, 14 Oct 2017 01:07:59 -0400 test-conflicts: conditionalize for no-symlink platforms
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:07:59 -0400] rev 34691
test-conflicts: conditionalize for no-symlink platforms It seems better to create standin files for the symlinks, rather than blacklist the entire tests. Especially since link vs file doesn't seem to affect the tests. There is more instability in test-pathconflicts-{basic,merge}.t that I can't figure out.
Sat, 14 Oct 2017 00:20:59 -0400 test-extdata: conditonalize error message for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:20:59 -0400] rev 34690
test-extdata: conditonalize error message for Windows
Sat, 14 Oct 2017 00:07:26 -0400 test-audit-path: fill in missing output for no-symlink case
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:07:26 -0400] rev 34689
test-audit-path: fill in missing output for no-symlink case It looks like this was meant to go with 989e884d1be9.
Sat, 14 Oct 2017 13:37:14 +0900 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 13:37:14 +0900] rev 34688
test-i18n: guard gettext test appropriately
Sun, 08 Oct 2017 13:08:31 +0200 hook: add a 'hashook' function to test for hook existence
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 13:08:31 +0200] rev 34687
hook: add a 'hashook' function to test for hook existence Preparing the data for some hooks can be expensive. Add a function to check if a hook exists so we can skip useless preparation if no hook is configured.
Fri, 13 Oct 2017 22:42:17 +0200 build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough
muxator <a.mux@inwind.it> [Fri, 13 Oct 2017 22:42:17 +0200] rev 34686
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough When bootstrapping a deb/rpm build, packagelib.sh starts performing a local build for the sole purpose of parsing the output of "hg version". Then it "hg archive"s the source code, and builds everything again. For that initial step, we are perfectly good in using a pure python mercurial, without compiling the c modules (base85, bdiff, zstdlib, ...). On my personal system, this cuts down 22 seconds for a package build (the bootstrapping build goes from ~30 to ~8 seconds).
Fri, 13 Oct 2017 12:40:05 -0700 context: add a fast-comparision for arbitraryfilectx and workingfilectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:40:05 -0700] rev 34685
context: add a fast-comparision for arbitraryfilectx and workingfilectx Differential Revision: https://phab.mercurial-scm.org/D1056
Fri, 13 Oct 2017 04:02:06 +0530 tersestatus: avoid modifying tersedict
Denis Laxalde <denis@laxalde.org> [Fri, 13 Oct 2017 04:02:06 +0530] rev 34684
tersestatus: avoid modifying tersedict Turn dirnode's methods into generators which can be used to update "tersedict" in caller. So instead of passing the "tersedict" to be mutated here and there, it's now clearer where it is updated as it's purely a local variable to tersedir() function. While I was here, I renamed _processtersestatus to tersewalk and _addfilestotersed to iterfilepaths. Differential Revision: https://phab.mercurial-scm.org/D1043
Wed, 11 Oct 2017 21:19:19 +0200 tersestatus: make methods part of the dirnode class
Denis Laxalde <denis@laxalde.org> [Wed, 11 Oct 2017 21:19:19 +0200] rev 34683
tersestatus: make methods part of the dirnode class Differential Revision: https://phab.mercurial-scm.org/D1042
Fri, 06 Oct 2017 20:54:23 +0530 tersestatus: re-implement the functionality to terse the status
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Oct 2017 20:54:23 +0530] rev 34682
tersestatus: re-implement the functionality to terse the status The previous terse status implementation was hacking around os.listdir() and was flaky. There have been a lot of instances of mercurial buildbots failing and google's internal builds failing because of the hacky implementation of terse status. Even though I wrote the last implementation but it was hard for me to find the reason for the flake. The new implementation can be slower than the old one but is clean and easy to understand. In this we create a node object for each directory and create a tree like structure starting from the root of the working copy. While building the tree like structure we store some information on the nodes which will be helpful for deciding later whether we can terse the dir or not. Once the whole tree is build we traverse and built the list of files for each status with required tersing. There is no behaviour change as the old test, test-status-terse.t passes with the new implementation. Differential Revision: https://phab.mercurial-scm.org/D985
Fri, 13 Oct 2017 12:54:46 -0700 context: add is `isinmemory()` to filectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:54:46 -0700] rev 34681
context: add is `isinmemory()` to filectx This will make it easier to skip certain behavior when running an in-memory merge. Differential Revision: https://phab.mercurial-scm.org/D1061
Fri, 06 Oct 2017 06:48:43 -0700 merge: ensure that we always commit the mergestate
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34680
merge: ensure that we always commit the mergestate In future patches, we may halt the merge process based on configuration or user requests by raising exceptions. We need to ensure that the mergestate is unconditionally committed even when such an exception is raised. Depends on D930. Differential Revision: https://phab.mercurial-scm.org/D931
Fri, 06 Oct 2017 06:48:43 -0700 merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34679
merge: add tests to show current behavior on failed filemerges Currently, failed file merges will nevertheless force the user to continue attempting to merge all additional unresolved files. Future patches will allow the user to halt the merge process instead. This patch first introduces a test demonstrating the current bejhavior so the upcoming changes are more obvious. Differential Revision: https://phab.mercurial-scm.org/D930
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move the _dirfoldmap to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34678
dirstate: move the _dirfoldmap to dirstatemap Now that dirstatemap is the source of truth for the list of directories, let's move _dirfoldmap on to it. This pattern of moving cached variables onto the dirstate map makes it easier to invalidate them, as seen by how the cache invalidation functions are slowly shrinking to just be recreating the dirstatemap instance. Differential Revision: https://phab.mercurial-scm.org/D983
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: remove _dirs property cache
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34677
dirstate: remove _dirs property cache Now that dirs is source of truthed on the dirstatemap, let's get rid of the _dirs propertycache on the dirstate. Differential Revision: https://phab.mercurial-scm.org/D982
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: remove _filefoldmap property cache
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34676
dirstate: remove _filefoldmap property cache Now that the filefoldmap is source of truthed on the dirstatemap, let's get rid of the property cache on the dirstate. Differential Revision: https://phab.mercurial-scm.org/D981
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move identity to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34675
dirstate: move identity to dirstatemap Moving the identity function to the dirstatemap class will allow alternative dirstate implementations to replace the implementation. Differential Revision: https://phab.mercurial-scm.org/D980
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move nonnormal and otherparent sets to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34674
dirstate: move nonnormal and otherparent sets to dirstatemap As part of separating dirstate business logic from storage, let's move the nonnormal and otherparent storage to the dirstatemap class. This will allow alternative dirstate storage to persist these sets instead of recomputing them. Differential Revision: https://phab.mercurial-scm.org/D979
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move write into dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34673
dirstate: move write into dirstatemap As part of separating the dirstate business logic from the dirstate storage logic, let's move the serialization code down into dirstatemap. Differential Revision: https://phab.mercurial-scm.org/D978
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move _read into dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34672
dirstate: move _read into dirstatemap As part of separating the dirstate business logic from the storage, let's move the read code into the new dirstatemap class. Differential Revision: https://phab.mercurial-scm.org/D977
Sun, 08 Oct 2017 21:29:24 +0200 configitems: register the 'templates' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:29:24 +0200] rev 34671
configitems: register the 'templates' section
Wed, 11 Oct 2017 05:01:55 +0200 configitems: register the 'paths' config section
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 05:01:55 +0200] rev 34670
configitems: register the 'paths' config section
Wed, 11 Oct 2017 02:26:09 +0200 configitems: register the 'pager.attend-.*' options
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 02:26:09 +0200] rev 34669
configitems: register the 'pager.attend-.*' options
Fri, 13 Oct 2017 16:39:06 +0200 configitems: register the 'hooks' config section
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 16:39:06 +0200] rev 34668
configitems: register the 'hooks' config section
Tue, 10 Oct 2017 10:48:47 +0200 configitems: register the 'extensions' section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:48:47 +0200] rev 34667
configitems: register the 'extensions' section
Sun, 08 Oct 2017 20:39:51 +0200 configitems: register the 'defaults' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:39:51 +0200] rev 34666
configitems: register the 'defaults' section
Sun, 08 Oct 2017 21:02:02 +0200 configitems: register the 'committemplate' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:02:02 +0200] rev 34665
configitems: register the 'committemplate' section
Tue, 10 Oct 2017 10:49:28 +0200 configitems: register the 'color' section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:49:28 +0200] rev 34664
configitems: register the 'color' section
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip