Gregory Szorc <gregory.szorc@gmail.com> [Tue, 24 Nov 2015 14:23:46 -0800] rev 27113
dispatch: use versiontuple()
We have a new generic function for this. Use it.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 24 Nov 2015 14:23:51 -0800] rev 27112
util: add versiontuple() for returning parsed version information
We have similar code in dispatch.py. Another consumer is about to be
created, so establish a generic function in an accessible location.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 24 Nov 2015 16:38:54 -0800] rev 27111
extensions: rename _ignore to _builtin, add descriptive comment
It was previously not at all obvious what this was for.
We also change it to a set to avoid iterating over an admittedly
small list repeatedly at startup time.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 14:44:55 -0800] rev 27110
ui: avoid needless casting to a str
In many cases, we don't need to cast to a str because the object will
be cast when it is eventually written.
As part of testing this, I added some code to raise exceptions when a
non-str was passed in and wasn't able to trigger it. i.e. we're already
passing str into this function everywhere, so the casting isn't
necessary.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 24 Nov 2015 11:23:10 -0800] rev 27109
ui: remove labeled argument from popbuffer
It was moved to pushbuffer and currently does nothing.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 14:18:42 -0800] rev 27108
color: evaluate labels at write time
Previously, we stored 2-tuples of text and label in a list and then
evaluated the labels when the buffer was popped. After this patch,
we evaluate the labels at write time and do a simple join when the
buffer is popped.
This patch appears to have no impact on performance, despite creating
fewer 2-tuples and having fewer strings hanging around in memory.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 14:13:25 -0800] rev 27107
cmdutil: pass labeled=True to pushbuffer()
This doesn't yet change behavior because labeling is still performed
at popbuffer time.
Surprisingly, this is the only in-tree consumer that passes
labeled=True.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 14:10:48 -0800] rev 27106
ui: track label expansion when creating buffers
As part of profiling `hg log` performance, I noticed a lot of time
is spent in buffered writes to ui instances. This patch starts a series
that refactors buffered writes with the eventual intent to improve
performance.
Currently, labels are expanded when buffers are popped. This means
we have to preserve the original text and the label until we render
the final output. This is avoidable overhead and adds complexity
since we're retaining state.
This patch adds functionality to ui.pushbuffer() to declare whether
label expansion should be active for the buffer. Labels are still
evaluated during buffer pop. This will change in a subsequent
patch.
Since we'll need to access the "expand labels" flag on future write()
operations, we prematurely optimize how the current value is stored
to optimize for rapid retrieval.
Matt Mackall <mpm@selenic.com> [Tue, 01 Dec 2015 20:18:28 -0600] rev 27105
Added signature for changeset
2d437a0f3355
Matt Mackall <mpm@selenic.com> [Tue, 01 Dec 2015 20:18:27 -0600] rev 27104
Added tag 3.6.2 for changeset
2d437a0f3355
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Nov 2015 18:13:25 -0800] rev 27103
docker: match more version of 'hg docker version' (
issue4967)
My version of docker (1.8.3) have a different formating for 'docker version'
that broke the build script. We make the version matching more generic in to
work with both version.
Siddharth Agarwal <sid0@fb.com> [Mon, 30 Nov 2015 16:31:28 -0800] rev 27102
localrepo.commit: check all files for resolve state (
issue4972)
Previously we were only checking modified files for their resolve state. But a
file might be unresolved yet not in the modified state. Handle all such cases
properly.
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 21:41:12 +0000] rev 27101
test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 21:36:20 +0000] rev 27100
contrib/perf: perfparents handle filtered repos
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 20:54:14 +0000] rev 27099
contrib/perf: perfparents handle tiny repos
refuse to run if there are not enough commits
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 21:44:16 +0000] rev 27098
contrib/perf: fix perfmergecalculate
merge.calculateupdates requires an array of ancestors and followcopies
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 22:01:11 +0000] rev 27097
contrib/perf: fix perffncachewrite
fncache.write requires a transaction (and thus a lock)
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 20:05:15 +0000] rev 27096
contrib/perf: omit duplicated function
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 20:08:21 +0000] rev 27095
contrib/perf: name functions to match decorators
timeless <timeless@mozdev.org> [Tue, 24 Nov 2015 22:26:43 +0000] rev 27094
hghave.py: remove execute bit
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 17:33:18 +0000] rev 27093
format: create new repository as 'generaldelta' by default
Since we have pushed back the performance issue related to general delta behind
another configuration (Still off by default), we can safely create new
repository with general delta support. As client are compatible with it since
Mercurial 1.9 (4.5 years ago) I do no expect any significant compatibility
issues.
Siddharth Agarwal <sid0@fb.com> [Sun, 22 Nov 2015 21:40:23 -0800] rev 27092
shelve: use colon instead of quotes in 'changes to' description
If detailed conflict markers are enabled and the closing quote gets truncated,
editors will often screw syntax highlighting up from that point because they'll
see an opening quote and think it's the beginning of a string.
In tests, the hashes change because the commit messages of the shelved bundles
also change.
Siddharth Agarwal <sid0@fb.com> [Sun, 22 Nov 2015 21:58:28 -0800] rev 27091
merge.applyupdates: create absentfilectxes for change/delete conflicts
At the moment no change/delete conflicts get to this point -- we're going to
make that happen in an upcoming patch.
Siddharth Agarwal <sid0@fb.com> [Sun, 22 Nov 2015 21:59:52 -0800] rev 27090
mergestate: add methods to queue files to remove, add or get
These are meant for use by custom merge drivers that might want to modify the
dirstate. Dirstate internal consistency rules require that all removes happen
before any adds -- this means that custom merge drivers shouldn't be modifying
the dirstate directly.