Fri, 11 Aug 2017 15:20:41 +0200 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com> [Fri, 11 Aug 2017 15:20:41 +0200] rev 33762
histedit: check first changeset for verb "roll" or "fold" (issue5498) If someone changes "pick" to "roll" or "fold" for the first changeset in a histedit rule Mercurial could remove a wrong changeset if the phase is non-public. roll or fold for the first changeset should be invalid.
Mon, 31 Jul 2017 23:13:47 +0900 encoding: drop circular import by proxying through '<policy>.charencode'
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Jul 2017 23:13:47 +0900] rev 33761
encoding: drop circular import by proxying through '<policy>.charencode' I decided not to split charencode.c to new C extension module because it would duplicate binary codes unnecessarily.
Mon, 31 Jul 2017 23:40:36 +0900 policy: reroute proxy modules internally
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Jul 2017 23:40:36 +0900] rev 33760
policy: reroute proxy modules internally This allows us to split encoding functions from pure.parsers without doing that for cext.parsers. See the next patch for why.
Mon, 31 Jul 2017 22:58:06 +0900 cext: modernize charencode.c to use Py_ssize_t
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Jul 2017 22:58:06 +0900] rev 33759
cext: modernize charencode.c to use Py_ssize_t
Sun, 21 May 2017 14:23:22 +0900 cext: factor out header for charencode.c
Yuya Nishihara <yuya@tcha.org> [Sun, 21 May 2017 14:23:22 +0900] rev 33758
cext: factor out header for charencode.c This merges a part of util.h with the header which should exist for charencode.c.
Mon, 31 Jul 2017 22:28:27 +0900 cext: split character encoding functions to new compilation unit
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Jul 2017 22:28:27 +0900] rev 33757
cext: split character encoding functions to new compilation unit This extracts charencode.c from parsers.c, which seems big enough for me to hesitate to add new JSON functions. Still charencode.o is linked to parsers.so to avoid duplication of binary codes.
Mon, 31 Jul 2017 22:12:24 +0900 cext: move _dict_new_presized() to header
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Jul 2017 22:12:24 +0900] rev 33756
cext: move _dict_new_presized() to header Prepares for splitting encoding functions from parsers.c.
Tue, 15 Aug 2017 13:04:31 -0700 ui: restore behavior to ignore some I/O errors (issue5658) stable
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 15 Aug 2017 13:04:31 -0700] rev 33755
ui: restore behavior to ignore some I/O errors (issue5658) e9646ff34d55 and 1bfb9a63b98e refactored ui methods to no longer silently swallow some IOError instances. This is arguably the correct thing to do. However, it had the unfortunate side-effect of causing StdioError to bubble up to sensitive code like transaction aborts, leading to an uncaught exceptions and failures to e.g. roll back a transaction. This could occur when a remote HTTP or SSH client connection dropped. The new behavior is resulting in semi-frequent "abandonded transaction" errors on multiple high-volume repositories at Mozilla. This commit effectively reverts e9646ff34d55 and 1bfb9a63b98e to restore the old behavior. I agree with the principle that I/O errors shouldn't be ignored. That makes this change... unfortunate. However, our hands are tied for what to do on stable. I think the proper solution is for the ui's behavior to be configurable (possibly via a context manager). During critical sections like transaction rollback and abort, it should be possible to suppress errors. But this feature would not be appropriate on stable.
Mon, 14 Aug 2017 13:12:40 -0700 tests: test behavior of IOError during transactions (issue5658) stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 14 Aug 2017 13:12:40 -0700] rev 33754
tests: test behavior of IOError during transactions (issue5658) ui._write(), ui._write_err(), and ui.flush() all trap IOError and re-raise as error.StdioError. If a caller doesn't catch StdioError when writing to stdio, it could bubble all the way to dispatch. This commit adds tests for I/O failures around various transaction operations. The most notable badness is during abort. Here, an uncaught StdioError will result in incomplete transaction rollback, requiring an `hg rollback` to recover. This can result in a client "corrupting" a remote repo via terminated HTTP and SSH socket.
Wed, 16 Aug 2017 10:24:49 -0500 log: mention ui.logtemplate in the help text stable
Nathan Goldbaum <ngoldbau@illinois.edu> [Wed, 16 Aug 2017 10:24:49 -0500] rev 33753
log: mention ui.logtemplate in the help text
Sat, 12 Aug 2017 14:29:22 +0200 hg: avoid relying on errno numbers / descriptions stable
Tristan Seligmann <mithrandi@mithrandi.net> [Sat, 12 Aug 2017 14:29:22 +0200] rev 33752
hg: avoid relying on errno numbers / descriptions A few tests hardcode errno numbers and/or descriptions in the output, causing test failures on platforms where these values are different. Differential Revision: https://phab.mercurial-scm.org/D362
Sat, 12 Aug 2017 14:24:25 +0200 hg: tolerate long vs. int in test-context.py stable
Tristan Seligmann <mithrandi@mithrandi.net> [Sat, 12 Aug 2017 14:24:25 +0200] rev 33751
hg: tolerate long vs. int in test-context.py The file times here can be longs instead of ints on some platforms, which will cause a test failure due to these printing with an L suffix; instead always format with %d which will produce the same output in either case. Differential Revision: https://phab.mercurial-scm.org/D361
Fri, 30 Jun 2017 03:43:31 +0200 configitems: register the 'notify.test' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:31 +0200] rev 33750
configitems: register the 'notify.test' config
Fri, 30 Jun 2017 03:43:30 +0200 configitems: register the 'notify.template' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:30 +0200] rev 33749
configitems: register the 'notify.template' config
Fri, 30 Jun 2017 03:43:29 +0200 configitems: register the 'notify.style' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:29 +0200] rev 33748
configitems: register the 'notify.style' config
Fri, 30 Jun 2017 03:43:28 +0200 configitems: register the 'notify.strip' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:28 +0200] rev 33747
configitems: register the 'notify.strip' config
Fri, 30 Jun 2017 03:43:27 +0200 configitems: register the 'notify.sources' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:27 +0200] rev 33746
configitems: register the 'notify.sources' config
Fri, 30 Jun 2017 03:43:26 +0200 configitems: register the 'notify.merge' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:26 +0200] rev 33745
configitems: register the 'notify.merge' config
Fri, 30 Jun 2017 03:43:25 +0200 configitems: register the 'notify.mbox' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:25 +0200] rev 33744
configitems: register the 'notify.mbox' config
Fri, 30 Jun 2017 03:43:24 +0200 configitems: register the 'notify.maxsubject' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:24 +0200] rev 33743
configitems: register the 'notify.maxsubject' config
Fri, 30 Jun 2017 03:43:23 +0200 configitems: register the 'notify.maxdiff' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:23 +0200] rev 33742
configitems: register the 'notify.maxdiff' config
Fri, 30 Jun 2017 03:43:22 +0200 configitems: register the 'notify.fromauthor' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:22 +0200] rev 33741
configitems: register the 'notify.fromauthor' config
Fri, 30 Jun 2017 03:43:20 +0200 configitems: register the 'notify.domain' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:20 +0200] rev 33740
configitems: register the 'notify.domain' config
Fri, 30 Jun 2017 03:43:19 +0200 configitems: register the 'notify.diffstat' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:19 +0200] rev 33739
configitems: register the 'notify.diffstat' config
Fri, 30 Jun 2017 03:43:18 +0200 configitems: register the 'notify.config' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:18 +0200] rev 33738
configitems: register the 'notify.config' config
Thu, 10 Aug 2017 18:55:33 -0400 merge with stable
Augie Fackler <augie@google.com> [Thu, 10 Aug 2017 18:55:33 -0400] rev 33737
merge with stable
Thu, 10 Aug 2017 14:23:41 -0400 merge with stable
Augie Fackler <augie@google.com> [Thu, 10 Aug 2017 14:23:41 -0400] rev 33736
merge with stable
Wed, 02 Aug 2017 19:49:57 +0200 obsutil: rename allprecursors into allpredecessors
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:49:57 +0200] rev 33735
obsutil: rename allprecursors into allpredecessors Use util.nouideprecwarn because obsstore doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D247
Wed, 02 Aug 2017 19:48:06 +0200 obsolete: rename precursor into predecessor in obsolete docstrings
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:48:06 +0200] rev 33734
obsolete: rename precursor into predecessor in obsolete docstrings The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D246
Wed, 02 Aug 2017 19:39:08 +0200 obsstore: rename precursors into predecessors
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:39:08 +0200] rev 33733
obsstore: rename precursors into predecessors Use util.nouideprecwarn because obsstore doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D245
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip