Sat, 14 Jul 2018 02:10:43 +0200 store: assert the fncache have been loaded if dirty
Boris Feld <boris.feld@octobus.net> [Sat, 14 Jul 2018 02:10:43 +0200] rev 38696
store: assert the fncache have been loaded if dirty This should catch fncache corruption as the one that existed in `perffncachewrite`.
Sat, 14 Jul 2018 02:09:47 +0200 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net> [Sat, 14 Jul 2018 02:09:47 +0200] rev 38695
perffncachewrite: load fncache after lock is acquired Without this patch, running perffncachewrite on a repository destroy its fncache. Lock Acquisition drops various caches, including the fncache one. Then writing of an non-loaded fncache result into an empty one.
Fri, 22 Jun 2018 11:02:42 +0100 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net> [Fri, 22 Jun 2018 11:02:42 +0100] rev 38694
perf: add a 'perf.all-timing' option to display more than best time Minimal time is a useful information, but it is useful to have a wider view on the performance picture.
Wed, 11 Jul 2018 10:46:15 +0200 perf: document the perfmanifest command
Boris Feld <boris.feld@octobus.net> [Wed, 11 Jul 2018 10:46:15 +0200] rev 38693
perf: document the perfmanifest command
Sat, 09 Jun 2018 22:38:29 +0900 fileset: remove fullmatchctx class
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 22:38:29 +0900] rev 38692
fileset: remove fullmatchctx class It's exactly the same as matchctx.
Sat, 09 Jun 2018 22:35:21 +0900 fileset: remove subset and unused filtering functions from matchctx
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 22:35:21 +0900] rev 38691
fileset: remove subset and unused filtering functions from matchctx
Sat, 09 Jun 2018 22:31:51 +0900 fileset: remove callexisting flag and mctx.existing() (API)
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 22:31:51 +0900] rev 38690
fileset: remove callexisting flag and mctx.existing() (API) They are no longer needed since any files are included as long as they are passed in to the matcher.
Sat, 09 Jun 2018 19:55:10 +0900 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 19:55:10 +0900] rev 38689
fileset: rewrite predicates to return matcher not closed to subset (API) (BC) This makes fileset expression open to any input, so that we can just say "hg status 'set: not binary()'" to select text files including unknowns. With this and removal of subset computation, 'set:**' becomes as fast as 'glob:**'. Further optimization will probably be possible by narrowing the file tree to compute status for example. This also fixes 'subrepo()' to not ignore the current mctx.subset. .. bc:: The fileset expression may include untracked files by default. Use ``tracked()`` to explicitly filter out files not existing at the context revision.
Tue, 10 Jul 2018 23:49:48 +0900 highlight: use matcher API to test if file should be pygmentized
Yuya Nishihara <yuya@tcha.org> [Tue, 10 Jul 2018 23:49:48 +0900] rev 38688
highlight: use matcher API to test if file should be pygmentized Prepares for the upcoming API change. We'll no longer have to call the fileset function directly since the cost of the matcher-based fileset will become O(number of tests) from O(number of files in subset).
Sun, 10 Jun 2018 20:58:10 +0900 fileset: parse argument of size() by predicate function
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 20:58:10 +0900] rev 38687
fileset: parse argument of size() by predicate function This change is necessary to pass in a size expression to predicatematcher. See the next patch.
Sun, 10 Jun 2018 22:19:56 +0900 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 22:19:56 +0900] rev 38686
fileset: add "tracked()" to explicitly select files in the revision I'm going to rewrite filesets to be match predicates, which means basic patterns such as '*' will no longer be "closed" to the subset constructed from the ctx. Good thing is that 'hg status "set:not binary()"' can include unknown files out of the box, and fileset computation will likely to be faster as we won't have to walk dirstate twice, for example. Bad thing is that we can't select files at a certain revision by 'set:revs(REV, **)' since '**' is "open" to any paths. So, this patch introduces "tracked()" as a replacement for the '**' in the example above.
Sat, 09 Jun 2018 18:11:49 +0900 fileset: rewrite andset() to not use mctx.narrow()
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 18:11:49 +0900] rev 38685
fileset: rewrite andset() to not use mctx.narrow() New code is less efficient than the original, but it helps porting andset() to matcher composition. This will be cleaned up later. This effectively disables the fullmatchctx magic since mctx will never be demoted to the matchctx. The fullmatchctx class will be removed later.
Sun, 10 Jun 2018 20:02:53 +0900 fileset: add helpers to make predicatematcher and nevermatcher
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 20:02:53 +0900] rev 38684
fileset: add helpers to make predicatematcher and nevermatcher These functions will be used to compose a tree of matchers from a fileset expression.
Sat, 14 Jul 2018 13:21:49 +0900 phases: micro-optimize newheads() to not create context objects
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Jul 2018 13:21:49 +0900] rev 38683
phases: micro-optimize newheads() to not create context objects
Sat, 14 Jul 2018 13:19:18 +0900 phases: remove excessive optimization from newheads() (issue5939)
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Jul 2018 13:19:18 +0900] rev 38682
phases: remove excessive optimization from newheads() (issue5939) This function is intended to compute 'heads(::heads - roots::)', but it failed because 'heads + parents(roots)' missed sibling branches of the roots. That's why the public heads slipped down from D to B in the example added by 2a227782e754 "tests: add test demonstrating phase loss when cloning": > E draft > |\Z draft > | Y draft > D | public > | X draft > C/ public > B public > A public where heads = {E, Z}, roots = {X}
(0) -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 tip