Sat, 23 Apr 2016 16:09:30 +0900 revset: make sort() do dumb multi-pass sorting for multiple keys (issue5218) stable
Yuya Nishihara <yuya@tcha.org> [Sat, 23 Apr 2016 16:09:30 +0900] rev 29001
revset: make sort() do dumb multi-pass sorting for multiple keys (issue5218) Our invert() function was too clever to not take length into account. I could fix the problem by appending '\xff' as a terminator (opposite to '\0'), but it turned out to be slower than simple multi-pass sorting. New implementation is pretty straightforward, which just calls sort() from the last key. We can do that since Python sort() is guaranteed to be stable. It doesn't sound nice to call sort() multiple times, but actually it is faster. That's probably because we have fewer Python codes in hot loop, and can avoid heavy string and list manipulation. revset #0: sort(0:10000, 'branch') 0) 0.412753 1) 0.393254 revset #1: sort(0:10000, '-branch') 0) 0.455377 1) 0.389191 85% revset #2: sort(0:10000, 'date') 0) 0.408082 1) 0.376332 92% revset #3: sort(0:10000, '-date') 0) 0.406910 1) 0.380498 93% revset #4: sort(0:10000, 'desc branch user date rev') 0) 0.542996 1) 0.486397 89% revset #5: sort(0:10000, '-desc -branch -user -date -rev') 0) 0.965032 1) 0.518426 53%
Thu, 24 Mar 2016 22:55:56 +0900 log: fix status template to list copy source per dest (issue5155) stable
Yuya Nishihara <yuya@tcha.org> [Thu, 24 Mar 2016 22:55:56 +0900] rev 29000
log: fix status template to list copy source per dest (issue5155) Before, copied files were assumed as "A" (added) and listed followed by non-copy added files. This could double entries of a copy if it had "M" (modified) state. So, this patch makes the template check if a file is included in copies dict. This way, entries should never be doubled. The output of "log -Tstatus -C" does not always agree with "status -C --change" due to the bug of "status", which is documented in test-status.t. See also 2963d5c9d90b.
Wed, 20 Apr 2016 16:33:13 +0100 graphmod: disable graph styling when HGPLAIN is set (issue5212) stable
Martijn Pieters <mjpieters@fb.com> [Wed, 20 Apr 2016 16:33:13 +0100] rev 28999
graphmod: disable graph styling when HGPLAIN is set (issue5212) Produce stable output for tools to rely on by hardcoding all edge styles to "|". This ensures that any tool parsing the output of hg log -G still gets the same behaviour as pre-3.8 releases.
Wed, 20 Apr 2016 18:26:29 +0100 graphmod: fix seen state handling for > 2 parents (issue5174) stable
Martijn Pieters <mjpieters@fb.com> [Wed, 20 Apr 2016 18:26:29 +0100] rev 28998
graphmod: fix seen state handling for > 2 parents (issue5174) When there are more than 2 parents for a given node (in a sparse graph), extra dummy nodes are inserted to transition the lines more gradually. However, since the seen state was not updated when yielding the extra nodes, the wrong graph styles were being applied to the nodes.
Wed, 20 Apr 2016 21:33:02 +0000 httpclient: reverse accidental damage from 86db5cb55d46 stable
timeless <timeless@mozdev.org> [Wed, 20 Apr 2016 21:33:02 +0000] rev 28997
httpclient: reverse accidental damage from 86db5cb55d46
Thu, 21 Apr 2016 04:30:18 +0000 tests: tolerate http2 stable
timeless <timeless@mozdev.org> [Thu, 21 Apr 2016 04:30:18 +0000] rev 28996
tests: tolerate http2 You can run tests like this: run-tests.py -l --extra-config-opt ui.usehttp2=true And ideally, no tests should fail...
(0) -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 tip