##// END OF EJS Templates
perf: fallback to subset if ondisk cache is missing in perfbranchmapload...
Boris Feld -
r40756:0a3cc351 default
parent child Browse files
Show More
@@ -2247,17 +2247,24 def perfbranchmapload(ui, repo, filter=b
2247 ui.status(b'%s - %s\n'
2247 ui.status(b'%s - %s\n'
2248 % (filtername, util.bytecount(st.st_size)))
2248 % (filtername, util.bytecount(st.st_size)))
2249 return
2249 return
2250 if filter:
2250 if not filter:
2251 filter = None
2252 subsettable = getbranchmapsubsettable()
2253 if filter is None:
2254 repo = repo.unfiltered()
2255 else:
2251 repo = repoview.repoview(repo, filter)
2256 repo = repoview.repoview(repo, filter)
2252 else:
2253 repo = repo.unfiltered()
2254
2257
2255 repo.branchmap() # make sure we have a relevant, up to date branchmap
2258 repo.branchmap() # make sure we have a relevant, up to date branchmap
2256
2259
2260 currentfilter = filter
2257 # try once without timer, the filter may not be cached
2261 # try once without timer, the filter may not be cached
2258 if branchmap.read(repo) is None:
2262 while branchmap.read(repo) is None:
2263 currentfilter = subsettable.get(currentfilter)
2264 if currentfilter is None:
2259 raise error.Abort(b'No branchmap cached for %s repo'
2265 raise error.Abort(b'No branchmap cached for %s repo'
2260 % (filter or b'unfiltered'))
2266 % (filter or b'unfiltered'))
2267 repo = repo.filtered(currentfilter)
2261 timer, fm = gettimer(ui, opts)
2268 timer, fm = gettimer(ui, opts)
2262 def setup():
2269 def setup():
2263 if clearrevlogs:
2270 if clearrevlogs:
@@ -143,6 +143,7 perfstatus
143 $ hg perfunidiff --alldata 1
143 $ hg perfunidiff --alldata 1
144 $ hg perfbookmarks
144 $ hg perfbookmarks
145 $ hg perfbranchmap
145 $ hg perfbranchmap
146 $ hg perfbranchmapload
146 $ hg perfcca
147 $ hg perfcca
147 $ hg perfchangegroupchangelog
148 $ hg perfchangegroupchangelog
148 $ hg perfchangegroupchangelog --cgversion 01
149 $ hg perfchangegroupchangelog --cgversion 01
General Comments 0
You need to be logged in to leave comments. Login now