Sun, 12 Aug 2018 12:11:36 +0900 mail: pass in addr to _addressencode() in bytes
Yuya Nishihara <yuya@tcha.org> [Sun, 12 Aug 2018 12:11:36 +0900] rev 39106
mail: pass in addr to _addressencode() in bytes _addressencode() doesn't process a unicode addr well. For example, acc.encode('ascii') would raise UnicodeEncodeError if acc was a unicode. This patch temporarily restores the pre-952bf3c948f0 _addressencode(). Several tests would be broken on Python 3.
Sun, 12 Aug 2018 12:01:34 +0900 mail: remove redundant bytesurl() from addrlistencode()
Yuya Nishihara <yuya@tcha.org> [Sun, 12 Aug 2018 12:01:34 +0900] rev 39105
mail: remove redundant bytesurl() from addrlistencode() _addressencode() returns a bytes.
Sun, 12 Aug 2018 11:43:24 +0900 patchbomb: really use BytesGenerator API
Yuya Nishihara <yuya@tcha.org> [Sun, 12 Aug 2018 11:43:24 +0900] rev 39104
patchbomb: really use BytesGenerator API It wraps around Generator type.
Sun, 12 Aug 2018 14:03:22 +0900 byteify-strings: prevent "__name__ == '__main__'" from being transformed
Yuya Nishihara <yuya@tcha.org> [Sun, 12 Aug 2018 14:03:22 +0900] rev 39103
byteify-strings: prevent "__name__ == '__main__'" from being transformed This was okay for import-time code transformer, but shouldn't be applied to source code.
Wed, 15 Aug 2018 17:06:12 -0400 merge with stable
Augie Fackler <augie@google.com> [Wed, 15 Aug 2018 17:06:12 -0400] rev 39102
merge with stable
Wed, 15 Aug 2018 10:57:47 +0900 rebase: turn off inmemory flag on --stop
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Aug 2018 10:57:47 +0900] rev 39101
rebase: turn off inmemory flag on --stop Guessing from the inline comment, "in-memory rebase is not compatible with resuming rebases", in-memory rebasing should be disabled.
Wed, 15 Aug 2018 10:47:07 +0900 rebase: use action variable to select things to do
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Aug 2018 10:47:07 +0900] rev 39100
rebase: use action variable to select things to do
Wed, 15 Aug 2018 10:41:26 +0900 rebase: consolidate check for --dry-run/--confirm on abort/stop/continue
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Aug 2018 10:41:26 +0900] rev 39099
rebase: consolidate check for --dry-run/--confirm on abort/stop/continue
Wed, 15 Aug 2018 10:36:06 +0900 rebase: consolidate check for --abort/--stop/--continue conflicts
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Aug 2018 10:36:06 +0900] rev 39098
rebase: consolidate check for --abort/--stop/--continue conflicts
Wed, 15 Aug 2018 10:32:10 +0900 rebase: do not set internal dryrun flag by --confirm
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Aug 2018 10:32:10 +0900] rev 39097
rebase: do not set internal dryrun flag by --confirm This prepares for cleaning up option checking.
Fri, 27 Jul 2018 14:30:28 +0530 rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 27 Jul 2018 14:30:28 +0530] rev 39096
rebase: add test to show --stop moves bookmarks Added tests to show that --stop option moves bookmarks of rebased csets to their succs. Differential Revision: https://phab.mercurial-scm.org/D3982
Sun, 22 Jul 2018 22:08:14 +0530 rebase: include --stop option in documentation
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 22 Jul 2018 22:08:14 +0530] rev 39095
rebase: include --stop option in documentation Differential Revision: https://phab.mercurial-scm.org/D3970
Sun, 22 Jul 2018 22:04:49 +0530 rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 22 Jul 2018 22:04:49 +0530] rev 39094
rebase: raise error for options conflicting with --stop Make sure --stop feature raise error for conflicting options --continue, --abort, --confirm, --dry-run. Tests are added to reflect the same. Differential Revision: https://phab.mercurial-scm.org/D3969
Wed, 18 Jul 2018 00:25:52 +0530 rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 18 Jul 2018 00:25:52 +0530] rev 39093
rebase: add --stop option to stop rebase at any point (issue5206) Before this patch, during a rebase if you get a point where you can't figure out what to do next, then either you had to complete your series or abandon all the work you have done during this rebase. Now, with this feature you can stop at any point by keeping the rebased csets and mark original csets as obsolete. And if you don't have evolution extension enabled then you can use --keep option as an alternative which will keep original csets too, instead of marking them obsolete. Differential Revision: https://phab.mercurial-scm.org/D3959
Fri, 01 Jun 2018 11:36:06 +0200 statprof: cleanup string construction
Boris Feld <boris.feld@octobus.net> [Fri, 01 Jun 2018 11:36:06 +0200] rev 39092
statprof: cleanup string construction Use string substitutions instead of string additions.
Wed, 25 Jul 2018 17:11:59 +0200 addremove: add associated color for the new labels
Boris Feld <boris.feld@octobus.net> [Wed, 25 Jul 2018 17:11:59 +0200] rev 39091
addremove: add associated color for the new labels We use classic color: green is added, red is removed.
Tue, 14 Aug 2018 11:39:48 +0200 remove: add a label for messages about removed files
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 11:39:48 +0200] rev 39090
remove: add a label for messages about removed files Keeping consistency between addremove and remove seems a good idea.
Tue, 14 Aug 2018 11:15:05 +0200 add: add a label for messages about added files
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 11:15:05 +0200] rev 39089
add: add a label for messages about added files Keeping consistency between addremove and add seems a good idea.
Wed, 25 Jul 2018 17:11:52 +0200 addremove: add labels for messages about added and removed files
Boris Feld <boris.feld@octobus.net> [Wed, 25 Jul 2018 17:11:52 +0200] rev 39088
addremove: add labels for messages about added and removed files This is the first step to add color for add and remove output.
Fri, 27 Jul 2018 12:08:10 +0200 revlog: filter out "invalid" delta base candidates
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 12:08:10 +0200] rev 39087
revlog: filter out "invalid" delta base candidates There are bases that we know won't produce a good delta chain. For example, if the base is already bigger than twice the size of the text we store, we know the resulting delta chain will never be valid. We might make the check a bit more powerful and generic in the future, but this looks a good start. In particular, empty file (size 0) will never find a good base, so we should stop spending time trying to find one.
Tue, 14 Aug 2018 13:47:07 -0700 revlog: use a symbolic constant for the deltas/text ration
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:47:07 -0700] rev 39086
revlog: use a symbolic constant for the deltas/text ration We are about to use it somewhere else, we should as well make it easier to access and change.
Fri, 27 Jul 2018 14:37:31 +0200 revlog: do not search for delta for empty content
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 14:37:31 +0200] rev 39085
revlog: do not search for delta for empty content We won't find any useful base to store an empty text. So we should not even try to.
Tue, 14 Aug 2018 13:44:13 -0700 revlog: split and document good delta conditional
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:44:13 -0700] rev 39084
revlog: split and document good delta conditional The logic is still identical, but having each conditional on its own helps to document them and will help to edit them in the future.
Fri, 27 Jul 2018 19:09:41 +0200 revlog: skip over empty revision when looking for delta base
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 19:09:41 +0200] rev 39083
revlog: skip over empty revision when looking for delta base There is no point in keeping an empty revision in the middle of a chain since they won't contribute any data. So we filter them out when looking for a valid base delta.
Sat, 28 Jul 2018 14:14:59 +0200 debugrevlog: display details about empty revision
Boris Feld <boris.feld@octobus.net> [Sat, 28 Jul 2018 14:14:59 +0200] rev 39082
debugrevlog: display details about empty revision We now display details about the course of emptiness (empty text or empty delta).
Fri, 27 Jul 2018 19:19:52 +0200 debugrevlog: track empty revlog entries
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 19:19:52 +0200] rev 39081
debugrevlog: track empty revlog entries A revlog entry can be "empty" for two reasons: * the stored text is empty * we found another entry with the exact same content Tracking them separately make revlog content clearer.
Fri, 27 Jul 2018 10:59:59 +0200 debugrevlog: document some of the variable used
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 10:59:59 +0200] rev 39080
debugrevlog: document some of the variable used This help to understand the code.
Tue, 14 Aug 2018 13:36:41 -0700 revlog: drop compatibility for `revlog.descendant` (API)
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:36:41 -0700] rev 39079
revlog: drop compatibility for `revlog.descendant` (API) As advertised, the method is dropped in 4.8.
Tue, 14 Aug 2018 13:36:11 -0700 context: drop compatibility for `context.descendant` (API)
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:36:11 -0700] rev 39078
context: drop compatibility for `context.descendant` (API) As advertised, the method is dropped in 4.8.
Fri, 10 Aug 2018 09:20:44 +0900 cmdutil: remove _updatecleanmsg() which is no longer used anywhere
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Aug 2018 09:20:44 +0900] rev 39077
cmdutil: remove _updatecleanmsg() which is no longer used anywhere
Fri, 10 Aug 2018 09:18:37 +0900 cmdutil: fix weird indent in _mergemsg()
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Aug 2018 09:18:37 +0900] rev 39076
cmdutil: fix weird indent in _mergemsg()
Fri, 10 Aug 2018 00:28:07 -0400 cext: fix a warning about differing const qualifiers on Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 10 Aug 2018 00:28:07 -0400] rev 39075
cext: fix a warning about differing const qualifiers on Windows The prototype takes a 'void *', but self->offsets is a 'const char **'. mercurial/cext/revlog.c(2011) : warning C4090: 'function' : different 'const' qualifiers
Fri, 10 Aug 2018 00:14:47 -0400 cext: fix most truncation warnings in revlog on Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 10 Aug 2018 00:14:47 -0400] rev 39074
cext: fix most truncation warnings in revlog on Windows There's one more, and I'm not sure why it isn't being tripped on other platforms: mercurial/cext/revlog.c(430) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'char', possible loss of data
Thu, 09 Aug 2018 23:52:45 -0400 cext: fix Windows warning about implicit conversion of 32-bit shift to 64 bit
Matt Harbison <matt_harbison@yahoo.com> [Thu, 09 Aug 2018 23:52:45 -0400] rev 39073
cext: fix Windows warning about implicit conversion of 32-bit shift to 64 bit mercurial/cext/revlog.c(1541) : warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift int ended?)
Thu, 09 Aug 2018 00:09:03 -0700 index: make capacity argument to nt_init be measured in revisions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Aug 2018 00:09:03 -0700] rev 39072
index: make capacity argument to nt_init be measured in revisions The nodetree's internal capacity field is measures in nodetree nodes, which is not something the caller should have to know about. Differential Revision: https://phab.mercurial-scm.org/D4166
Wed, 08 Aug 2018 23:41:50 -0700 index: avoid duplicating capacity-growth expression
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 23:41:50 -0700] rev 39071
index: avoid duplicating capacity-growth expression We were duplicating the "*2" instead of reusing it. It's overflow-safe to reuse as long as the growth factor (i.e. currently 2) is not larger than sizeof(nodetreenode) (currently 64 or 128). Differential Revision: https://phab.mercurial-scm.org/D4165
Wed, 08 Aug 2018 23:36:15 -0700 index: move check for too large capacity into nt_init()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 23:36:15 -0700] rev 39070
index: move check for too large capacity into nt_init() It's clearer to have the check just before the allocation happens. Differential Revision: https://phab.mercurial-scm.org/D4164
Wed, 08 Aug 2018 22:26:57 -0700 shortest: don't include nullid in disambigution revset
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 22:26:57 -0700] rev 39069
shortest: don't include nullid in disambigution revset As noted by Yuya in the review of D4118, the fact that the nodetree always contains the nullid is not what we want for the disambiguation case. It's not what the pure version of the code does. Note that the updated test also passes before this patch, but it wouldn't have passed in native-code mode once we start using the nodetree for disambiguating nodeid prefixes. Differential Revision: https://phab.mercurial-scm.org/D4163
Wed, 08 Aug 2018 21:52:39 -0700 index: don't include nullid in the internal "length" field
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 21:52:39 -0700] rev 39068
index: don't include nullid in the internal "length" field This is a follow-up to 781b2720d2ac (index: don't include nullid in len(), 2018-07-20). I intentionally didn't update the "index stats", so it will also not include the space for nullid after this patch. Differential Revision: https://phab.mercurial-scm.org/D4162
Thu, 09 Aug 2018 13:20:42 -0400 tests: add test coverage for revlogindex[-1] which was previously missing
Augie Fackler <augie@google.com> [Thu, 09 Aug 2018 13:20:42 -0400] rev 39067
tests: add test coverage for revlogindex[-1] which was previously missing Differential Revision: https://phab.mercurial-scm.org/D4184
Wed, 01 Aug 2018 16:28:10 +0300 context: safegaurd from 'lx' being passed as file flag in manifest
Pulkit Goyal <pulkit@yandex-team.ru> [Wed, 01 Aug 2018 16:28:10 +0300] rev 39066
context: safegaurd from 'lx' being passed as file flag in manifest Follows up for d558e53cd6b619d5f671a7580513bfc66a398eac. Differential Revision: https://phab.mercurial-scm.org/D4259
Fri, 10 Aug 2018 03:33:38 -0400 debugcommands: urlerror only has a read() method in Python 2
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:33:38 -0400] rev 39065
debugcommands: urlerror only has a read() method in Python 2 Differential Revision: https://phab.mercurial-scm.org/D4258
Fri, 10 Aug 2018 03:31:23 -0400 debugcommands: get_method should always return a sysstr
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:31:23 -0400] rev 39064
debugcommands: get_method should always return a sysstr Differential Revision: https://phab.mercurial-scm.org/D4257
Fri, 10 Aug 2018 03:16:02 -0400 stringutil: if we get a memoryview in escapestr, coerce it to bytes
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:16:02 -0400] rev 39063
stringutil: if we get a memoryview in escapestr, coerce it to bytes Otherwise we get an exception. Sadly, this manifesting deep inside the wireproto code, inside a future. For some reason the exception was /causing a hang/ rather than actually propagating out, which seems like it might merit some investigation in the future. Differential Revision: https://phab.mercurial-scm.org/D4256
Fri, 10 Aug 2018 03:14:52 -0400 debugcommands: fix a missing b prefix
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:14:52 -0400] rev 39062
debugcommands: fix a missing b prefix This wasn't causing any immediate problems because of the source transformer, but I noticed the inconsistency and it bugged me. # skip-blame just a b prefix Differential Revision: https://phab.mercurial-scm.org/D4255
Fri, 10 Aug 2018 02:31:44 -0400 wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 02:31:44 -0400] rev 39061
wireprotohelpers: add missing b prefixes # skip-blame just b prefixes Differential Revision: https://phab.mercurial-scm.org/D4254
Fri, 10 Aug 2018 02:30:14 -0400 util: fix signature of setsockopt in socket observer
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 02:30:14 -0400] rev 39060
util: fix signature of setsockopt in socket observer The format string expected the result, callers all passed the result, but we didn't actually accept the result to this function. I swear I've looked at this code a dozen times trying to find the problem, and it was this simple all along. Differential Revision: https://phab.mercurial-scm.org/D4253
Fri, 10 Aug 2018 02:03:26 -0400 tests: port test-glog.t to Python 3 by using extracted printrevset
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 02:03:26 -0400] rev 39059
tests: port test-glog.t to Python 3 by using extracted printrevset Differential Revision: https://phab.mercurial-scm.org/D4252
(0) -30000 -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 tip