Sun, 22 Nov 2015 16:23:20 -0800 revlog: improve documentation
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 16:23:20 -0800] rev 27070
revlog: improve documentation There are a lot of functions and variables doing similar things. Document the role and functionality of each to make it easier to grok.
Sat, 21 Nov 2015 22:28:01 -0800 demandimport: don't enable when running under PyPy
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 22:28:01 -0800] rev 27069
demandimport: don't enable when running under PyPy On demand importing doesn't work with PyPy for some reason. Don't honor requests to enable demand importing when running under PyPy.
Sat, 14 Nov 2015 17:14:14 -0800 ui.write: don't clear progress bar when writing to a buffer
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 14 Nov 2015 17:14:14 -0800] rev 27068
ui.write: don't clear progress bar when writing to a buffer ui.write() has 2 modes: buffered and unbuffered. In buffered mode, we capture output before writing it. This is how changeset printing works, for example. Previously, we were potentially clearing the progress bar for every call to ui.write(). In buffered mode, this clearing was useless because the clearing function would be called again before actually writing the buffered data. This patch stops the useless calling of _progclear() unless we are actually writing data. During changeset printing with the default template, this removes ~6 function calls per changeset, making changeset printing slightly faster. before: 23.76s after: 23.35s delta: -0.41s (98.3% of original)
Sun, 22 Nov 2015 21:20:08 -0500 test-resolve: fix '--tool f' invocation for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2015 21:20:08 -0500] rev 27067
test-resolve: fix '--tool f' invocation for Windows Windows can't invoke a python script directly, so invoke sh.exe instead. According to sid0, the output changes are due to the fact that 'f' is no longer being passed all of the args that it was, but these changes aren't essential to the test [1]. [1] https://selenic.com/pipermail/mercurial-devel/2015-November/075768.html
Sat, 14 Nov 2015 17:30:10 -0800 util.datestr: use divmod()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 14 Nov 2015 17:30:10 -0800] rev 27066
util.datestr: use divmod() We were computing the quotient and remainder of a division operation separately. The built-in divmod() function allows us to do this with a single function call. Do that.
Sat, 14 Nov 2015 17:44:01 -0800 cmdutil.changeset_printer: pass context into showpatch()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 14 Nov 2015 17:44:01 -0800] rev 27065
cmdutil.changeset_printer: pass context into showpatch() Before, we passed the node then subsequently performed a lookup on repo.changelog. We already has the context available, so just pass it in. This does result in a small performance win. But I doubt it will show up anywhere because diff[stat] calculation will dwarf the time spent to create a changectx. Still, we should be creating fewer changectx out of principle.
Sat, 21 Nov 2015 19:21:01 -0800 context: avoid extra parents lookups
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 19:21:01 -0800] rev 27064
context: avoid extra parents lookups Resolving parents requires reading from the changelog, which is a few attributes and function calls away. Parents lookup occurs surprisingly often. Micro optimizing the code to avoid redundant lookups of parents appears to make `hg log` on my Firefox repo a little faster: before: 24.91s after: 23.76s delta: -1.15s (95.4% of original)
Sat, 21 Nov 2015 19:04:12 -0800 context: optimize _parents()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 19:04:12 -0800] rev 27063
context: optimize _parents() This patch avoids some extra attribute lookups and list mutations. This micro-optimization seems to result in a minor speedup for `hg log` on my Firefox repo: before: 25.35s after: 24.91s delta: -0.44s (98% of original) Not the biggest gain. But every little bit helps.
Sun, 22 Nov 2015 13:05:21 -0500 test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2015 13:05:21 -0500] rev 27062
test-histedit: $TESTTMP quoting fixes for Windows Without this, C:\path\to\test is converted into C:pathtotest. Since $TESTTMP appears in output, seems to work in some places without quotes, and is also used within a larger quote block (see test-rebase-collapse.t, ~line 160), I'm not sure what a check-code rule would look like (or even if it is feasible).
Sat, 21 Nov 2015 23:26:22 -0800 lsprof: support PyPy (issue4573)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 23:26:22 -0800] rev 27061
lsprof: support PyPy (issue4573) PyPy's _lsprof module doesn't export a "profiler_entry" symbol. This patch treats the symbol as optional and falls back to verifying the attribute is present on the first entry in the collected data as part of validation. There is a chance not every entry will contain the requested sort attribute. But, this patch does unbust lsprof on PyPy for the hg commands I've tested, so I assume it is sufficient. It's certainly better than the ImportError we encountered before. As part of the import refactor, I snuck in the addition of absolute_import.
Wed, 11 Nov 2015 19:10:45 -0500 base85: clean up function definition style
Augie Fackler <augie@google.com> [Wed, 11 Nov 2015 19:10:45 -0500] rev 27060
base85: clean up function definition style Cleanup performed with clang-format.
Fri, 20 Nov 2015 14:06:31 -0800 rebase: use bookmarks.recordchange instead of bookmarks.write
Laurent Charignon <lcharignon@fb.com> [Fri, 20 Nov 2015 14:06:31 -0800] rev 27059
rebase: use bookmarks.recordchange instead of bookmarks.write Before this patch we were using the old api bookmarks.write instead of bookmarks.recordchange at the end of rebase operations. We move clearstatus within the transaction to make it easier for extensions that wrap transactions operations.
Fri, 20 Nov 2015 11:36:05 -0800 rebase: indentation change to make the next patch more legible
Laurent Charignon <lcharignon@fb.com> [Fri, 20 Nov 2015 11:36:05 -0800] rev 27058
rebase: indentation change to make the next patch more legible We put the code to be indented in the next patch in a "if True:" block to make it easier to review.
Mon, 16 Nov 2015 16:56:00 -0500 test-run-tests: conditionalize the $TESTDIR check for Windows separator
Matt Harbison <matt_harbison@yahoo.com> [Mon, 16 Nov 2015 16:56:00 -0500] rev 27057
test-run-tests: conditionalize the $TESTDIR check for Windows separator The variable uniformly uses '\' separators, so the straight equality check with '/' separating the last component fails. It also doesn't like having the quote appear in the middle of the string when testing.
Mon, 09 Nov 2015 17:15:36 -0500 test-context: conditionalize the workingfilectx date printing for Windows
Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Nov 2015 17:15:36 -0500] rev 27056
test-context: conditionalize the workingfilectx date printing for Windows Starting with 13272104bb07, the output changed on Windows: --- e:/Projects/hg/tests/test-context.py.out +++ e:/Projects/hg/tests/test-context.py.err @@ -1,4 +1,4 @@ -workingfilectx.date = (1000, 0) +workingfilectx.date = (1000L, 0) ASCII : Gr?ezi! Latin-1 : Grⁿezi! UTF-8 : Gr├╝ezi! Since int and long are both 32 bit on Windows, this seems harmless in practice other than the previous test failure.
Mon, 16 Nov 2015 14:37:03 -0500 test-mq-qrefresh: drop single quoting of HGEDITOR value for Windows
Matt Harbison <matt_harbison@yahoo.com> [Mon, 16 Nov 2015 14:37:03 -0500] rev 27055
test-mq-qrefresh: drop single quoting of HGEDITOR value for Windows This was failing with: sh: $TESTTMP/checkvisibility.sh: No such file or directory
(0) -10000 -3000 -1000 -300 -100 -16 +16 +100 +300 +1000 +3000 +10000 tip