comparison hgext/remotefilelog/__init__.py @ 43862:5606e1cb4685

merge with stable
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 13 Dec 2019 09:43:43 -0800
parents 888bd39ed555 612b4b63fb22
children 9d2b2df2c2ba
comparison
equal deleted inserted replaced
43861:aac921f54554 43862:5606e1cb4685
227 configitem(b'repack', b'chainorphansbysize', default=True, experimental=True) 227 configitem(b'repack', b'chainorphansbysize', default=True, experimental=True)
228 228
229 configitem(b'packs', b'maxpacksize', default=0) 229 configitem(b'packs', b'maxpacksize', default=0)
230 configitem(b'packs', b'maxchainlen', default=1000) 230 configitem(b'packs', b'maxchainlen', default=1000)
231 231
232 configitem(b'devel', b'remotefilelog.ensurestart', default=False) 232 configitem(b'devel', b'remotefilelog.bg-wait', default=False)
233 233
234 # default TTL limit is 30 days 234 # default TTL limit is 30 days
235 _defaultlimit = 60 * 60 * 24 * 30 235 _defaultlimit = 60 * 60 * 24 * 30
236 configitem(b'remotefilelog', b'nodettl', default=_defaultlimit) 236 configitem(b'remotefilelog', b'nodettl', default=_defaultlimit)
237 237
1078 if isenabled(repo): 1078 if isenabled(repo):
1079 # prefetch if it's configured 1079 # prefetch if it's configured
1080 prefetchrevset = ui.config(b'remotefilelog', b'pullprefetch') 1080 prefetchrevset = ui.config(b'remotefilelog', b'pullprefetch')
1081 bgrepack = repo.ui.configbool(b'remotefilelog', b'backgroundrepack') 1081 bgrepack = repo.ui.configbool(b'remotefilelog', b'backgroundrepack')
1082 bgprefetch = repo.ui.configbool(b'remotefilelog', b'backgroundprefetch') 1082 bgprefetch = repo.ui.configbool(b'remotefilelog', b'backgroundprefetch')
1083 ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart')
1084 1083
1085 if prefetchrevset: 1084 if prefetchrevset:
1086 ui.status(_(b"prefetching file contents\n")) 1085 ui.status(_(b"prefetching file contents\n"))
1087 revs = scmutil.revrange(repo, [prefetchrevset]) 1086 revs = scmutil.revrange(repo, [prefetchrevset])
1088 base = repo[b'.'].rev() 1087 base = repo[b'.'].rev()
1089 if bgprefetch: 1088 if bgprefetch:
1090 repo.backgroundprefetch( 1089 repo.backgroundprefetch(prefetchrevset, repack=bgrepack)
1091 prefetchrevset, repack=bgrepack, ensurestart=ensurestart
1092 )
1093 else: 1090 else:
1094 repo.prefetch(revs, base=base) 1091 repo.prefetch(revs, base=base)
1095 if bgrepack: 1092 if bgrepack:
1096 repackmod.backgroundrepack( 1093 repackmod.backgroundrepack(repo, incremental=True)
1097 repo, incremental=True, ensurestart=ensurestart
1098 )
1099 elif bgrepack: 1094 elif bgrepack:
1100 repackmod.backgroundrepack( 1095 repackmod.backgroundrepack(repo, incremental=True)
1101 repo, incremental=True, ensurestart=ensurestart
1102 )
1103 1096
1104 return result 1097 return result
1105 1098
1106 1099
1107 def exchangepull(orig, repo, remote, *args, **kwargs): 1100 def exchangepull(orig, repo, remote, *args, **kwargs):
1248 1241
1249 opts = resolveprefetchopts(ui, opts) 1242 opts = resolveprefetchopts(ui, opts)
1250 revs = scmutil.revrange(repo, opts.get(b'rev')) 1243 revs = scmutil.revrange(repo, opts.get(b'rev'))
1251 repo.prefetch(revs, opts.get(b'base'), pats, opts) 1244 repo.prefetch(revs, opts.get(b'base'), pats, opts)
1252 1245
1253 ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart')
1254
1255 # Run repack in background 1246 # Run repack in background
1256 if opts.get(b'repack'): 1247 if opts.get(b'repack'):
1257 repackmod.backgroundrepack( 1248 repackmod.backgroundrepack(repo, incremental=True)
1258 repo, incremental=True, ensurestart=ensurestart
1259 )
1260 1249
1261 1250
1262 @command( 1251 @command(
1263 b'repack', 1252 b'repack',
1264 [ 1253 [
1274 ], 1263 ],
1275 _(b'hg repack [OPTIONS]'), 1264 _(b'hg repack [OPTIONS]'),
1276 ) 1265 )
1277 def repack_(ui, repo, *pats, **opts): 1266 def repack_(ui, repo, *pats, **opts):
1278 if opts.get('background'): 1267 if opts.get('background'):
1279 ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart')
1280 repackmod.backgroundrepack( 1268 repackmod.backgroundrepack(
1281 repo, 1269 repo,
1282 incremental=opts.get('incremental'), 1270 incremental=opts.get('incremental'),
1283 packsonly=opts.get('packsonly', False), 1271 packsonly=opts.get('packsonly', False),
1284 ensurestart=ensurestart,
1285 ) 1272 )
1286 return 1273 return
1287 1274
1288 options = {b'packsonly': opts.get('packsonly')} 1275 options = {b'packsonly': opts.get('packsonly')}
1289 1276