Boris Feld <boris.feld@octobus.net> [Wed, 25 Jul 2018 17:11:59 +0200] rev 39128
addremove: add associated color for the new labels
We use classic color: green is added, red is removed.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 11:39:48 +0200] rev 39127
remove: add a label for messages about removed files
Keeping consistency between addremove and remove seems a good idea.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 11:15:05 +0200] rev 39126
add: add a label for messages about added files
Keeping consistency between addremove and add seems a good idea.
Boris Feld <boris.feld@octobus.net> [Wed, 25 Jul 2018 17:11:52 +0200] rev 39125
addremove: add labels for messages about added and removed files
This is the first step to add color for add and remove output.
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 12:08:10 +0200] rev 39124
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.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:47:07 -0700] rev 39123
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.
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 14:37:31 +0200] rev 39122
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.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:44:13 -0700] rev 39121
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.
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 19:09:41 +0200] rev 39120
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.
Boris Feld <boris.feld@octobus.net> [Sat, 28 Jul 2018 14:14:59 +0200] rev 39119
debugrevlog: display details about empty revision
We now display details about the course of emptiness (empty text or empty
delta).
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 19:19:52 +0200] rev 39118
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.
Boris Feld <boris.feld@octobus.net> [Fri, 27 Jul 2018 10:59:59 +0200] rev 39117
debugrevlog: document some of the variable used
This help to understand the code.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:36:41 -0700] rev 39116
revlog: drop compatibility for `revlog.descendant` (API)
As advertised, the method is dropped in 4.8.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Aug 2018 13:36:11 -0700] rev 39115
context: drop compatibility for `context.descendant` (API)
As advertised, the method is dropped in 4.8.
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Aug 2018 09:20:44 +0900] rev 39114
cmdutil: remove _updatecleanmsg() which is no longer used anywhere
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Aug 2018 09:18:37 +0900] rev 39113
cmdutil: fix weird indent in _mergemsg()
Matt Harbison <matt_harbison@yahoo.com> [Fri, 10 Aug 2018 00:28:07 -0400] rev 39112
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
Matt Harbison <matt_harbison@yahoo.com> [Fri, 10 Aug 2018 00:14:47 -0400] rev 39111
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
Matt Harbison <matt_harbison@yahoo.com> [Thu, 09 Aug 2018 23:52:45 -0400] rev 39110
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?)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Aug 2018 00:09:03 -0700] rev 39109
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
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 23:41:50 -0700] rev 39108
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
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 23:36:15 -0700] rev 39107
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
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 22:26:57 -0700] rev 39106
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
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Aug 2018 21:52:39 -0700] rev 39105
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
Augie Fackler <augie@google.com> [Thu, 09 Aug 2018 13:20:42 -0400] rev 39104
tests: add test coverage for revlogindex[-1] which was previously missing
Differential Revision: https://phab.mercurial-scm.org/D4184
Pulkit Goyal <pulkit@yandex-team.ru> [Wed, 01 Aug 2018 16:28:10 +0300] rev 39103
context: safegaurd from 'lx' being passed as file flag in manifest
Follows up for d558e53cd6b619d5f671a7580513bfc66a398eac.
Differential Revision: https://phab.mercurial-scm.org/D4259
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:33:38 -0400] rev 39102
debugcommands: urlerror only has a read() method in Python 2
Differential Revision: https://phab.mercurial-scm.org/D4258
Augie Fackler <augie@google.com> [Fri, 10 Aug 2018 03:31:23 -0400] rev 39101
debugcommands: get_method should always return a sysstr
Differential Revision: https://phab.mercurial-scm.org/D4257