Tue, 09 May 2017 19:53:31 -0700 filectx: move size to basefilectx
Jun Wu <quark@fb.com> [Tue, 09 May 2017 19:53:31 -0700] rev 32280
filectx: move size to basefilectx See previous patch for context - avoid code duplication.
Tue, 09 May 2017 19:48:57 -0700 filectx: make renamed a property cache
Jun Wu <quark@fb.com> [Tue, 09 May 2017 19:48:57 -0700] rev 32279
filectx: make renamed a property cache See previous patch for context - mainly to avoid code duplication.
Tue, 09 May 2017 19:23:28 -0700 filectx: make flags a property cache
Jun Wu <quark@fb.com> [Tue, 09 May 2017 19:23:28 -0700] rev 32278
filectx: make flags a property cache Make basefilectx._flags a property cache, so basefilectx.flags() could be reasonably reused. This avoids code duplication between memfilectx and a class added in a later patch.
Sun, 30 Apr 2017 11:21:05 -0700 commandserver: move printbanner logic to bindsocket
Jun Wu <quark@fb.com> [Sun, 30 Apr 2017 11:21:05 -0700] rev 32277
commandserver: move printbanner logic to bindsocket bindsocket now handles listen automatically. "printbanner" seems to be just a part of "bindsocket". This simplifies the interface a bit.
Sun, 30 Apr 2017 11:08:27 -0700 commandserver: move "listen" responsibility from service to handler
Jun Wu <quark@fb.com> [Sun, 30 Apr 2017 11:08:27 -0700] rev 32276
commandserver: move "listen" responsibility from service to handler This enables chg to replace a server socket in an atomic way: 1. bind to a temp address 2. listen 3. rename Currently 3 happens before 2 so a client may see the socket file but fails to connect to it.
Mon, 08 May 2017 15:31:34 -0700 hghave: remove py27+ capability
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 08 May 2017 15:31:34 -0700] rev 32275
hghave: remove py27+ capability It is now unused. And we require Python 2.7+ now so this check is not necessary.
Mon, 08 May 2017 15:30:15 -0700 tests: remove test targeting Python 2.6
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 08 May 2017 15:30:15 -0700] rev 32274
tests: remove test targeting Python 2.6 We just removed support for Python 2.7. This test is dead since it only ran on <2.7.
Tue, 02 May 2017 16:19:04 -0700 setup: drop support for Python 2.6 (BC)
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 02 May 2017 16:19:04 -0700] rev 32273
setup: drop support for Python 2.6 (BC) Per discussion on the mailing list and elsewhere, we've decided that Python 2.6 is too old to continue supporting. We keep accumulating hacks/fixes/workarounds for 2.6 and this is taking time away from more important work. So with this patch, we officially drop support for Python 2.6 and require Python 2.7 to run Mercurial.
Sat, 06 May 2017 11:16:59 -0700 perf: move revlog construction and length calculation out of benchmark
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 11:16:59 -0700] rev 32272
perf: move revlog construction and length calculation out of benchmark We don't need to measure the time it takes to open the revlog or calculate its length. This is more consistent with what other perf* functions do. While I was here, I also renamed the revlog variable from "r" to "rl" - again in the name of consistency.
Sat, 06 May 2017 11:15:56 -0700 perf: clear revlog caches on every iteration
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 11:15:56 -0700] rev 32271
perf: clear revlog caches on every iteration cmdutil.openrevlog() may return a cached revlog instance. This /may/ be a recent "regression" due to refactoring of the manifest API. I'm not sure. Either way, this perf command was broken for at least manifests because subsequent invocations of the perf function would get cache hits from previous invocations, invalidating results. In the extreme case, testing the last revision in the revlog resulted in near-instantanous execution of subsequent runs (since the fulltext is cached). A time of ~1us would be reported in this case.
Sat, 06 May 2017 11:12:23 -0700 perf: don't convert rev to node before calling revlog.revision()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 11:12:23 -0700] rev 32270
perf: don't convert rev to node before calling revlog.revision()
Sat, 06 May 2017 12:12:53 -0700 revlog: rename _chunkraw to _getsegmentforrevs()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 12:12:53 -0700] rev 32269
revlog: rename _chunkraw to _getsegmentforrevs() This completes our rename of internal revlog methods to distinguish between low-level raw revlog data "segments" and higher-level, per-revision "chunks." perf.py has been updated to consult both names so it will work against older Mercurial versions.
Sat, 06 May 2017 12:02:31 -0700 perf: store reference to revlog._chunkraw in a local variable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 12:02:31 -0700] rev 32268
perf: store reference to revlog._chunkraw in a local variable To prepare for renaming revlog._chunkraw, we stuff a reference to this metho in a local variable. This does 2 things. First, it moves the attribute lookup outside of a loop, which more accurately measures the time of the code being invoked. Second, it allows us to alias to different methods depending on their presence (perf.py needs to support running against old Mercurial versions). Removing an attribute lookup from a tigh loop appears to shift the numbers slightly with mozilla-central: $ hg perfrevlogchunks -c ! read ! wall 0.354789 comb 0.340000 user 0.330000 sys 0.010000 (best of 28) ! wall 0.335932 comb 0.330000 user 0.290000 sys 0.040000 (best of 30) ! read w/ reused fd ! wall 0.342326 comb 0.340000 user 0.320000 sys 0.020000 (best of 29) ! wall 0.332857 comb 0.340000 user 0.290000 sys 0.050000 (best of 30) ! read batch ! wall 0.023623 comb 0.020000 user 0.000000 sys 0.020000 (best of 124) ! wall 0.023666 comb 0.020000 user 0.000000 sys 0.020000 (best of 125) ! read batch w/ reused fd ! wall 0.023828 comb 0.020000 user 0.000000 sys 0.020000 (best of 124) ! wall 0.023556 comb 0.020000 user 0.000000 sys 0.020000 (best of 126)
Sat, 06 May 2017 12:02:12 -0700 revlog: rename internal functions containing "chunk" to use "segment"
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 May 2017 12:02:12 -0700] rev 32267
revlog: rename internal functions containing "chunk" to use "segment" Currently, "chunk" is overloaded in revlog terminology to mean multiple things. One of them refers to a segment of raw data from the revlog. This commit renames various methods only used within revlog.py to have "segment" in their name instead of "chunk." While I was here, I also made the names more descriptive. e.g. "_loadchunk()" becomes "_readsegment()" because it actually does I/O.
Sat, 06 May 2017 16:36:24 -0700 fsmonitor: do not nuke dirstate filecache
Jun Wu <quark@fb.com> [Sat, 06 May 2017 16:36:24 -0700] rev 32266
fsmonitor: do not nuke dirstate filecache In the future, chg may prefill repo's dirstate filecache so it's valuable and should be kept. Previously we drop both filecache and property cache for dirstate during fsmonitor reposetup, this patch changes it to only drop property cache but keep the filecache.
(0) -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 tip