Wed, 04 Oct 2017 10:56:33 -0400 mpatch: reformat function prototypes with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 10:56:33 -0400] rev 34800
mpatch: reformat function prototypes with clang-format Differential Revision: https://phab.mercurial-scm.org/D1131
Mon, 16 Oct 2017 11:43:41 -0400 contrib: remove check-code rule about indentation
Augie Fackler <augie@google.com> [Mon, 16 Oct 2017 11:43:41 -0400] rev 34799
contrib: remove check-code rule about indentation We're moving towards a clang-format world, and clang-format is able to wrap argument lists with spaces reliably, while still enforcing tabs globally. Let's let clang-format do its job, and not do as much C-style enforcement with regular expressions. Differential Revision: https://phab.mercurial-scm.org/D1130
Sat, 24 Jan 2015 17:04:25 -0500 clang-format: configuration for the clang-format source formatter
Augie Fackler <raf@durin42.com> [Sat, 24 Jan 2015 17:04:25 -0500] rev 34798
clang-format: configuration for the clang-format source formatter Differential Revision: https://phab.mercurial-scm.org/D1129
Fri, 06 Oct 2017 06:48:43 -0700 merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34797
merge: allow user to halt merge on merge-tool failures Depends on D932. Call the new _onfilemergefailure function when a merge tool reports failure via a return code. Differential Revision: https://phab.mercurial-scm.org/D951
Fri, 06 Oct 2017 06:48:43 -0700 filemerge: introduce functions to halt merge flow
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34796
filemerge: introduce functions to halt merge flow Depends on D931. This patch introduces functions and a config option that will allow a user to halt the merge if there are failures during a file merge. These functions will be used in the next patch. Differential Revision: https://phab.mercurial-scm.org/D932
Sun, 15 Oct 2017 19:29:56 +0530 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 19:29:56 +0530] rev 34795
amend: add a flag `-n/--note` to store note with amend This patch utilises the functionality added in previous patches and adds a flag to amend command in hgext/amend to add a note to the amend. Since the note is stored in the obsmarker metadata, this will only be useful when obsmarker creation is enabled, otherwise this is no-op. Not adding releasenotes part as we yet don't have a functionality in core to show the note. Differential Revision: https://phab.mercurial-scm.org/D1095
Sun, 15 Oct 2017 15:32:03 +0530 cmdutil: pass metadata from amend() to cleanupnodes
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 15:32:03 +0530] rev 34794
cmdutil: pass metadata from amend() to cleanupnodes `commit --amend` and amend command in core and extensions rely on cmdutil.amend() for amending a commit. So the logic to add a note to amend must reside here. This patch assumes that note will be passed in opts dictionary to the function and it will be passed to cleanupnodes and then createmarkers to store the note in the obsmarker metadata. After this patch, note can be stored on an amend changeset by passing notes as a part of opts to cmdutil.amend(). Differential Revision: https://phab.mercurial-scm.org/D1094
Sun, 15 Oct 2017 14:34:24 +0530 scmutil: add capability to cleanupnodes to take obsmarker metadata
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 14:34:24 +0530] rev 34793
scmutil: add capability to cleanupnodes to take obsmarker metadata This patch adds a metadata argument to cleanupnodes() which will be dict and can be passed to obsmarker.createmarkers() and can be stored on the obsmarker. In cases when obsolescence is not enabled, the metadata argument is useless. This is a step towards storing a note in amend. Differential Revision: https://phab.mercurial-scm.org/D1093
Mon, 16 Oct 2017 13:06:33 -0700 test-hgweb-annotate-whitespace: make test compatible with chg
Saurabh Singh <singhsrb@fb.com> [Mon, 16 Oct 2017 13:06:33 -0700] rev 34792
test-hgweb-annotate-whitespace: make test compatible with chg D946 fixed a bunch of tests which had the same root cause. Please see that for details. This seems to be one of the newer tests which fails because of the same reason. Test Plan: Ran the test 'test-hgweb-annotate-whitespace.t' with and without the '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1124
Mon, 16 Oct 2017 17:41:37 -0700 test-pager: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com> [Mon, 16 Oct 2017 17:41:37 -0700] rev 34791
test-pager: make the test compatible with chg D911 tried to make this test compatible with chg but instead resulted in the test being flaky for chg. For now, disabling this test for chg because it seems difficult to fix the test. This will allow for the continuous build setup for chg. Test Plan: Ran the test 'test-pager.t' with and without the '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1128
Mon, 16 Oct 2017 17:06:32 -0700 test-obsolete-bounds-checking: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com> [Mon, 16 Oct 2017 17:06:32 -0700] rev 34790
test-obsolete-bounds-checking: make the test compatible with chg This test fails when run with chg because the error message starts with "ProgrammingError" instead of "mercurial.error.ProgrammingError". Therefore, globing the "mercurial.error." to ensure that the test is compatible with chg. Test Plan: Ran the test 'test-obsolete-bounds-checking.t' with and without the '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1127
Mon, 16 Oct 2017 17:14:21 -0700 test-dispatch: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com> [Mon, 16 Oct 2017 17:14:21 -0700] rev 34789
test-dispatch: make the test compatible with chg The test is broken when run with chg because it prints a different error message when chg is running. This commit fixes the test by special casing for chg. Test Plan: Ran the test 'test-dispatch.t' with and without '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1126
Mon, 16 Oct 2017 12:15:00 -0700 histedit: remove the nonexistant config 'histeditng'
Saurabh Singh <singhsrb@fb.com> [Mon, 16 Oct 2017 12:15:00 -0700] rev 34788
histedit: remove the nonexistant config 'histeditng' D942 removed the experimental config 'histeditng'. This is a leftover which should have been removed in that commit. Therefore, this commit completes the cleanup. Test Plan: Ran all the tests. Differential Revision: https://phab.mercurial-scm.org/D1123
Sun, 15 Oct 2017 20:36:29 -0700 context: add workingfilectx.markcopied
Phil Cohen <phillco@fb.com> [Sun, 15 Oct 2017 20:36:29 -0700] rev 34787
context: add workingfilectx.markcopied With in-memory merge, copy information needs to be stored in-memory, not in the dirstate. To make this transition easy, move the existing dirstate-based approach to workingfilectx; that way, other implementations can choose to store it somewhere else. Differential Revision: https://phab.mercurial-scm.org/D1106
Sun, 15 Oct 2017 20:36:29 -0700 merge: don't use workers in in-memory mode
Phil Cohen <phillco@fb.com> [Sun, 15 Oct 2017 20:36:29 -0700] rev 34786
merge: don't use workers in in-memory mode The worker processes can't share memory, so workers should not be used. Differential Revision: https://phab.mercurial-scm.org/D1105
Sun, 15 Oct 2017 20:36:29 -0700 filemerge: add a missing flushall()
Phil Cohen <phillco@fb.com> [Sun, 15 Oct 2017 20:36:29 -0700] rev 34785
filemerge: add a missing flushall() Differential Revision: https://phab.mercurial-scm.org/D1060
Fri, 13 Oct 2017 12:34:22 -0700 filemerge: store backups in the overlayworkingctx if using imm
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:34:22 -0700] rev 34784
filemerge: store backups in the overlayworkingctx if using imm Differential Revision: https://phab.mercurial-scm.org/D1059
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
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip