Mercurial > hg
comparison mercurial/dirstate.py @ 44327:71e13cfd6154 stable
rust-dirstatemap: add `NonNormalEntries` class
This fix introduces the same encapsulation as the `copymap`. There is no easy
way of doing this any better for now.
`hg up -r null && time HGRCPATH= HGMODULEPOLICY=rust+c hg up tip` on Mozilla
Central, (not super recent, but it doesn't matter):
Before: 7:44,08 total
After: 1:03,23 total
Pretty brutal regression!
This is a graft on stable of cf1f8660e568
Differential Revision: https://phab.mercurial-scm.org/D8111
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Wed, 12 Feb 2020 23:23:59 +0100 |
parents | 7f5410dfc8a6 |
children | bed8d08cfcb2 |
comparison
equal
deleted
inserted
replaced
44326:58c74a517a00 | 44327:71e13cfd6154 |
---|---|
1844 self._rustmap | 1844 self._rustmap |
1845 return self.identity | 1845 return self.identity |
1846 | 1846 |
1847 @property | 1847 @property |
1848 def nonnormalset(self): | 1848 def nonnormalset(self): |
1849 nonnorm, otherparents = self._rustmap.nonnormalentries() | 1849 nonnorm = self._rustmap.non_normal_entries() |
1850 return nonnorm | 1850 return nonnorm |
1851 | 1851 |
1852 @propertycache | 1852 @propertycache |
1853 def otherparentset(self): | 1853 def otherparentset(self): |
1854 nonnorm, otherparents = self._rustmap.nonnormalentries() | 1854 otherparents = self._rustmap.other_parent_entries() |
1855 return otherparents | 1855 return otherparents |
1856 | 1856 |
1857 @propertycache | 1857 @propertycache |
1858 def dirfoldmap(self): | 1858 def dirfoldmap(self): |
1859 f = {} | 1859 f = {} |