Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 23:05:33 -0700] rev 19717
revlog: remove _chunkbase since it is no longer used
This was introduced in 2011 for the lwcopy feature but never actually got used.
A similar hook can easily be reintroduced if needed in the future.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 23:05:11 -0700] rev 19716
revlog: move chunk cache preload from revision to _chunks
In case we don't have a cached text already, add the base rev to the list
passed to _chunks. In the cached case this also avoids unnecessarily preloading
the chunk for the cached rev.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 22:57:51 -0700] rev 19715
revlog._chunks: inline getchunk
We do this in a somewhat hacky way, relying on the fact that our sole caller
preloads the cache right before calling us. An upcoming patch will make this
more sensible.
For a 20 MB manifest with a delta chain of > 40k, perfmanifest goes from 0.49
seconds to 0.46.
Siddharth Agarwal <sid0@fb.com> [Sat, 07 Sep 2013 12:42:46 -0700] rev 19714
revlog.revision: fix cache preload for inline revlogs
Previously the length of data preloaded did not account for the interleaved io
contents. This meant that we'd sometimes have cache misses in _chunks despite
the preloading.
Having a correctly filled out cache will become essential in an upcoming patch.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 16:31:35 -0700] rev 19713
revlog: add a fast method for getting a list of chunks
This moves _chunkraw into the loop. Doing that improves revlog decompression --
in particular, manifest decompression -- significantly. For a 20 MB manifest
which is the result of a > 40k delta chain, hg perfmanifest improves from 0.55
seconds to 0.49 seconds.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:35:29 -0700] rev 19712
perfmanifest: allow and require passing in a rev
Previously perfmanifest would only test tip.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:20:07 -0700] rev 19711
perfmanifest: fix cache invalidation
The manifest cache is now stored in _mancache. The revlog cache is still stored
in _cache.
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:16:21 -0700] rev 19710
lrucachedict: implement clear()
Kevin Bullock <kbullock@ringworld.org> [Sat, 07 Sep 2013 16:08:11 -0500] rev 19709
merge with stable
Antoine Pitrou <solipsis@pitrou.net> [Sat, 07 Sep 2013 21:20:00 +0200] rev 19708
bundle: fix performance regression when bundling file changes (issue4031)
Somewhere before 2.7, a change [ec896f9e8894] was committed that
entailed a large performance regression when bundling (and therefore
remote cloning) repositories. For each file in the repository, it would
recompute the set of needed changesets even though it is the same for
all files. This computation would dominate bundle runtimes according to
profiler output (by 10x or more).
Kevin Bullock <kbullock@ringworld.org> [Sat, 07 Sep 2013 00:08:36 -0500] rev 19707
merge with stable
Alexander Plavin <alexander@plav.in> [Tue, 06 Aug 2013 00:52:06 +0400] rev 19706
revset: fix wrong keyword() behaviour for strings with spaces
Some changesets can be wrongly reported as matched by this predicate
due to searching in a string joined with spaces and not individually.
A test case added, which fails without this fix.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:42:56 -0500] rev 19705
commitablefilectx: move children from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:42:33 -0500] rev 19704
commitablefilectx: move parents from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:23:06 -0500] rev 19703
commitablefilectx: move __nonzero__ from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:12:50 -0500] rev 19702
commitablefilectx: move __init__ from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:11:51 -0500] rev 19701
commitablefilectx: add a class that will be used for mutable file contexts
Just like commitablectx, this will serve as a common place for code that will
be shared between workingfilectx and memfilectx.
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:40:34 -0500] rev 19700
commitablectx: move dirs from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:40:27 -0500] rev 19699
commitablectx: move markcommitted from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:59 -0500] rev 19698
commitablectx: move ancestors from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:11 -0500] rev 19697
commitablectx: move walk from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:01 -0500] rev 19696
commitablectx: move ancestor from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:43 -0500] rev 19695
commitablectx: move flags from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:26 -0500] rev 19694
commitablectx: move children from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:17 -0500] rev 19693
commitablectx: move hidden from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:59 -0500] rev 19692
commitablectx: move phase from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:33 -0500] rev 19691
commitablectx: move bookmarks from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:16 -0500] rev 19690
commitablectx: move tags from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:28 -0500] rev 19689
commitablectx: move extra from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:16 -0500] rev 19688
commitablectx: move closesbranch from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:02 -0500] rev 19687
commitablectx: move branch from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:42 -0500] rev 19686
commitablectx: move clean from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:32 -0500] rev 19685
commitablectx: move ignored from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:20 -0500] rev 19684
commitablectx: move unknown from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:21:55 -0500] rev 19683
commitablectx: move deleted from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:15:29 -0500] rev 19682
commitablectx: move removed from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:15:18 -0500] rev 19681
commitablectx: move added from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:14:58 -0500] rev 19680
commitablectx: move modified from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:09:45 -0500] rev 19679
commitablectx: move files from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:09:30 -0500] rev 19678
commitablectx: move description from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:03:32 -0500] rev 19677
commitablectx: move date from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 10:57:43 -0500] rev 19676
commitablectx: move _date from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:57:24 -0500] rev 19675
commitablectx: move user from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 10:51:53 -0500] rev 19674
commitablectx: move _user from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:55:56 -0500] rev 19673
commitablectx: move status from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:41:22 -0500] rev 19672
commitablectx: move _status from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:34:18 -0500] rev 19671
commitablectx: move _manifest from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:30:17 -0500] rev 19670
commitablectx: move _flagfunc from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:29:48 -0500] rev 19669
commitablectx: move _buildflagfunc from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:29:09 -0500] rev 19668
commitablectx: move __contains__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:28:43 -0500] rev 19667
commitablectx: move __nonzero__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:25:14 -0500] rev 19666
commitablectx: move __str__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:24:58 -0500] rev 19665
commitablectx: move __init__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:02:08 -0500] rev 19664
commitablectx: add a class that will be used as a parent of mutable contexts
Currently, we have basectx that serves as a common ancestor of all contexts. We
will now add a new class commitablectx that will inherit from basectx and will
serve as a common place for code that will be shared between mutable contexts,
e.g. workingctx and memctx.
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:32:56 -0500] rev 19663
workingfilectx: remove unneeded __repr__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:09:34 -0500] rev 19662
workingfilectx: remove bogus comment
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:32:07 -0500] rev 19661
workingfilectx: remove __str__ manifest since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:31:17 -0500] rev 19660
basefilectx: use basectx __str__ instead of duplicating logic
This change allows us to only rely on one place to convert a context to a
string which will help eliminate duplicate code in context.py
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:41:09 -0500] rev 19659
workingctx: remove unneeded manifest since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:32:44 -0500] rev 19658
workingctx: remove unneeded __repr__ since it is now inherited