Show More
@@ -229,7 +229,6 b" configitem(b'repack', b'chainorphansbysi" | |||
|
229 | 229 | configitem(b'packs', b'maxpacksize', default=0) |
|
230 | 230 | configitem(b'packs', b'maxchainlen', default=1000) |
|
231 | 231 | |
|
232 | configitem(b'devel', b'remotefilelog.ensurestart', default=False) | |
|
233 | 232 | configitem(b'devel', b'remotefilelog.bg-wait', default=False) |
|
234 | 233 | |
|
235 | 234 | # default TTL limit is 30 days |
@@ -1085,26 +1084,19 b' def pull(orig, ui, repo, *pats, **opts):' | |||
|
1085 | 1084 | prefetchrevset = ui.config(b'remotefilelog', b'pullprefetch') |
|
1086 | 1085 | bgrepack = repo.ui.configbool(b'remotefilelog', b'backgroundrepack') |
|
1087 | 1086 | bgprefetch = repo.ui.configbool(b'remotefilelog', b'backgroundprefetch') |
|
1088 | ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart') | |
|
1089 | 1087 | |
|
1090 | 1088 | if prefetchrevset: |
|
1091 | 1089 | ui.status(_(b"prefetching file contents\n")) |
|
1092 | 1090 | revs = scmutil.revrange(repo, [prefetchrevset]) |
|
1093 | 1091 | base = repo[b'.'].rev() |
|
1094 | 1092 | if bgprefetch: |
|
1095 | repo.backgroundprefetch( | |
|
1096 | prefetchrevset, repack=bgrepack, ensurestart=ensurestart | |
|
1097 | ) | |
|
1093 | repo.backgroundprefetch(prefetchrevset, repack=bgrepack) | |
|
1098 | 1094 | else: |
|
1099 | 1095 | repo.prefetch(revs, base=base) |
|
1100 | 1096 | if bgrepack: |
|
1101 | repackmod.backgroundrepack( | |
|
1102 | repo, incremental=True, ensurestart=ensurestart | |
|
1103 | ) | |
|
1097 | repackmod.backgroundrepack(repo, incremental=True) | |
|
1104 | 1098 | elif bgrepack: |
|
1105 | repackmod.backgroundrepack( | |
|
1106 | repo, incremental=True, ensurestart=ensurestart | |
|
1107 | ) | |
|
1099 | repackmod.backgroundrepack(repo, incremental=True) | |
|
1108 | 1100 | |
|
1109 | 1101 | return result |
|
1110 | 1102 | |
@@ -1255,13 +1247,9 b' def prefetch(ui, repo, *pats, **opts):' | |||
|
1255 | 1247 | revs = scmutil.revrange(repo, opts.get(b'rev')) |
|
1256 | 1248 | repo.prefetch(revs, opts.get(b'base'), pats, opts) |
|
1257 | 1249 | |
|
1258 | ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart') | |
|
1259 | ||
|
1260 | 1250 | # Run repack in background |
|
1261 | 1251 | if opts.get(b'repack'): |
|
1262 | repackmod.backgroundrepack( | |
|
1263 | repo, incremental=True, ensurestart=ensurestart | |
|
1264 | ) | |
|
1252 | repackmod.backgroundrepack(repo, incremental=True) | |
|
1265 | 1253 | |
|
1266 | 1254 | |
|
1267 | 1255 | @command( |
@@ -1281,12 +1269,10 b' def prefetch(ui, repo, *pats, **opts):' | |||
|
1281 | 1269 | ) |
|
1282 | 1270 | def repack_(ui, repo, *pats, **opts): |
|
1283 | 1271 | if opts.get(r'background'): |
|
1284 | ensurestart = repo.ui.configbool(b'devel', b'remotefilelog.ensurestart') | |
|
1285 | 1272 | repackmod.backgroundrepack( |
|
1286 | 1273 | repo, |
|
1287 | 1274 | incremental=opts.get(r'incremental'), |
|
1288 | 1275 | packsonly=opts.get(r'packsonly', False), |
|
1289 | ensurestart=ensurestart, | |
|
1290 | 1276 | ) |
|
1291 | 1277 | return |
|
1292 | 1278 |
@@ -36,9 +36,7 b' class RepackAlreadyRunning(error.Abort):' | |||
|
36 | 36 | pass |
|
37 | 37 | |
|
38 | 38 | |
|
39 | def backgroundrepack( | |
|
40 | repo, incremental=True, packsonly=False, ensurestart=False | |
|
41 | ): | |
|
39 | def backgroundrepack(repo, incremental=True, packsonly=False): | |
|
42 | 40 | cmd = [procutil.hgexecutable(), b'-R', repo.origroot, b'repack'] |
|
43 | 41 | msg = _(b"(running background repack)\n") |
|
44 | 42 | if incremental: |
@@ -52,9 +50,7 b' def backgroundrepack(' | |||
|
52 | 50 | if repo.ui.configbool(b'devel', b'remotefilelog.bg-wait'): |
|
53 | 51 | kwargs['record_wait'] = repo.ui.atexit |
|
54 | 52 | |
|
55 | procutil.runbgcommand( | |
|
56 | cmd, encoding.environ, ensurestart=ensurestart, **kwargs | |
|
57 | ) | |
|
53 | procutil.runbgcommand(cmd, encoding.environ, ensurestart=False, **kwargs) | |
|
58 | 54 | |
|
59 | 55 | |
|
60 | 56 | def fullrepack(repo, options=None): |
@@ -215,13 +215,7 b' def wraprepo(repo):' | |||
|
215 | 215 | ) |
|
216 | 216 | |
|
217 | 217 | def backgroundprefetch( |
|
218 | self, | |
|
219 | revs, | |
|
220 | base=None, | |
|
221 | repack=False, | |
|
222 | pats=None, | |
|
223 | opts=None, | |
|
224 | ensurestart=False, | |
|
218 | self, revs, base=None, repack=False, pats=None, opts=None | |
|
225 | 219 | ): |
|
226 | 220 | """Runs prefetch in background with optional repack |
|
227 | 221 | """ |
@@ -237,7 +231,7 b' def wraprepo(repo):' | |||
|
237 | 231 | kwargs['record_wait'] = repo.ui.atexit |
|
238 | 232 | |
|
239 | 233 | procutil.runbgcommand( |
|
240 |
cmd, encoding.environ, ensurestart= |
|
|
234 | cmd, encoding.environ, ensurestart=False, **kwargs | |
|
241 | 235 | ) |
|
242 | 236 | |
|
243 | 237 | def prefetch(self, revs, base=None, pats=None, opts=None): |
@@ -1,11 +1,8 b'' | |||
|
1 | 1 | #require no-windows |
|
2 | 2 | |
|
3 | 3 | $ . "$TESTDIR/remotefilelog-library.sh" |
|
4 | # devel.remotefilelog.ensurestart: reduce race condition with | |
|
5 | # waiton{repack/prefetch} | |
|
6 | 4 | $ cat >> $HGRCPATH <<EOF |
|
7 | 5 | > [devel] |
|
8 | > remotefilelog.ensurestart=True | |
|
9 | 6 | > remotefilelog.bg-wait=True |
|
10 | 7 | > EOF |
|
11 | 8 |
@@ -1,13 +1,11 b'' | |||
|
1 | 1 | #require no-windows |
|
2 | 2 | |
|
3 | 3 | $ . "$TESTDIR/remotefilelog-library.sh" |
|
4 | # devel.remotefilelog.ensurestart: reduce race condition with | |
|
5 | # waiton{repack/prefetch} | |
|
4 | ||
|
6 | 5 | $ cat >> $HGRCPATH <<EOF |
|
7 | 6 | > [remotefilelog] |
|
8 | 7 | > fastdatapack=True |
|
9 | 8 | > [devel] |
|
10 | > remotefilelog.ensurestart=True | |
|
11 | 9 | > remotefilelog.bg-wait=True |
|
12 | 10 | > EOF |
|
13 | 11 |
@@ -1,11 +1,8 b'' | |||
|
1 | 1 | #require no-windows |
|
2 | 2 | |
|
3 | 3 | $ . "$TESTDIR/remotefilelog-library.sh" |
|
4 | # devel.remotefilelog.ensurestart: reduce race condition with | |
|
5 | # waiton{repack/prefetch} | |
|
6 | 4 | $ cat >> $HGRCPATH <<EOF |
|
7 | 5 | > [devel] |
|
8 | > remotefilelog.ensurestart=True | |
|
9 | 6 | > remotefilelog.bg-wait=True |
|
10 | 7 | > EOF |
|
11 | 8 |
General Comments 0
You need to be logged in to leave comments.
Login now