Wed, 08 Oct 2014 11:52:30 -0400 manifest: simplify manifest.add() by making args required
Augie Fackler <raf@durin42.com> [Wed, 08 Oct 2014 11:52:30 -0400] rev 22787
manifest: simplify manifest.add() by making args required I verified that changed was never false (it was always a 2-tuple) by adding @@ -220,6 +225,8 @@ class manifest(revlog.revlog): def add(self, map, transaction, link, p1=None, p2=None, changed=None): + if not changed: + assert False, 'changed was %r' % changed # if we're using the cache, make sure it is valid and # parented by the same node we're diffing against if not (changed and p1 and (p1 in self._mancache)): and observing that the test suite still passed. Making all the arguments required should help future readers understand what's going on here.
Thu, 25 Sep 2014 14:13:31 -0400 manifest: move manifest parsing to module-level
Augie Fackler <raf@durin42.com> [Thu, 25 Sep 2014 14:13:31 -0400] rev 22786
manifest: move manifest parsing to module-level We'll need this in the sharded manifest hashing routine, and I need to tweak it anyway, so make it module-level now.
Wed, 24 Sep 2014 15:14:44 -0400 revlog: move references to revlog.hash to inside the revlog class
Augie Fackler <raf@durin42.com> [Wed, 24 Sep 2014 15:14:44 -0400] rev 22785
revlog: move references to revlog.hash to inside the revlog class This will make it possible for subclasses to have different hashing schemes when appropriate. I anticipate using this in manifests. Note that there's still one client of mercurial.revlog.hash() outside of revlog: mercurial.context.memctx uses it to construct the file entries in an in-memory manifest. I don't think this will be a problem in the immediate future, so I've left it as-is.
Wed, 24 Sep 2014 15:10:52 -0400 revlog: mark nullhash as module-private
Augie Fackler <raf@durin42.com> [Wed, 24 Sep 2014 15:10:52 -0400] rev 22784
revlog: mark nullhash as module-private No other module should ever need this, so mark it with _ so nobody tries to use it.
Wed, 08 Oct 2014 20:51:01 +0900 ui: disable echo back of prompt input if ui is set to non-tty purposely
Yuya Nishihara <yuya@tcha.org> [Wed, 08 Oct 2014 20:51:01 +0900] rev 22783
ui: disable echo back of prompt input if ui is set to non-tty purposely 9ab18a912c44 is nice for test output, but it also affects command-server channel. Command-server client shouldn't receive echo-back message, which makes it harder to parse the output.
Fri, 03 Oct 2014 18:48:09 -0700 dirstate: cache util.normcase while constructing the foldmap
Siddharth Agarwal <sid0@fb.com> [Fri, 03 Oct 2014 18:48:09 -0700] rev 22782
dirstate: cache util.normcase while constructing the foldmap This is a small win on OS X. hg perfdirstatefoldmap: before: wall 0.399708 comb 0.410000 user 0.390000 sys 0.020000 (best of 25) after: wall 0.386331 comb 0.390000 user 0.370000 sys 0.020000 (best of 25)
Fri, 03 Oct 2014 18:47:28 -0700 normcase: for darwin, use fast ASCII lower
Siddharth Agarwal <sid0@fb.com> [Fri, 03 Oct 2014 18:47:28 -0700] rev 22781
normcase: for darwin, use fast ASCII lower Constructing the foldmap is much faster on OS X now. For a large real-world repo, hg perfdirstatefoldmap: before: wall 0.805278 comb 0.800000 user 0.790000 sys 0.010000 (best of 13) after: wall 0.399708 comb 0.410000 user 0.390000 sys 0.020000 (best of 25) This is a nice boost to 'hg status', especially with the third-party hgwatchman extension enabled (which eliminates stat calls). For the above repo, 'hg status' goes from 1.17 seconds to 0.74.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 tip