Show More
@@ -163,7 +163,7 b' def lfconvert(ui, src, dest, *pats, **op' | |||||
163 | # to the destination repository's requirements. |
|
163 | # to the destination repository's requirements. | |
164 | if lfiles: |
|
164 | if lfiles: | |
165 | rdst.requirements.add(b'largefiles') |
|
165 | rdst.requirements.add(b'largefiles') | |
166 |
rdst |
|
166 | scmutil.writereporequirements(rdst) | |
167 | else: |
|
167 | else: | |
168 |
|
168 | |||
169 | class lfsource(filemap.filemap_source): |
|
169 | class lfsource(filemap.filemap_source): |
@@ -448,7 +448,7 b' def reposetup(ui, repo):' | |||||
448 | lfutil.shortname + b'/' in f[0] for f in repo.store.datafiles() |
|
448 | lfutil.shortname + b'/' in f[0] for f in repo.store.datafiles() | |
449 | ): |
|
449 | ): | |
450 | repo.requirements.add(b'largefiles') |
|
450 | repo.requirements.add(b'largefiles') | |
451 |
repo |
|
451 | scmutil.writereporequirements(repo) | |
452 |
|
452 | |||
453 | ui.setconfig( |
|
453 | ui.setconfig( | |
454 | b'hooks', b'changegroup.lfiles', checkrequireslfiles, b'largefiles' |
|
454 | b'hooks', b'changegroup.lfiles', checkrequireslfiles, b'largefiles' |
@@ -255,7 +255,7 b' def _reposetup(ui, repo):' | |||||
255 | ): |
|
255 | ): | |
256 | repo.requirements.add(b'lfs') |
|
256 | repo.requirements.add(b'lfs') | |
257 | repo.features.add(repository.REPO_FEATURE_LFS) |
|
257 | repo.features.add(repository.REPO_FEATURE_LFS) | |
258 |
repo |
|
258 | scmutil.writereporequirements(repo) | |
259 | repo.prepushoutgoinghooks.add(b'lfs', wrapper.prepush) |
|
259 | repo.prepushoutgoinghooks.add(b'lfs', wrapper.prepush) | |
260 | break |
|
260 | break | |
261 |
|
261 |
@@ -312,7 +312,7 b' def convertsink(orig, sink):' | |||||
312 | # membership before assuming it is in the context. |
|
312 | # membership before assuming it is in the context. | |
313 | if any(f in ctx and ctx[f].islfs() for f, n in files): |
|
313 | if any(f in ctx and ctx[f].islfs() for f, n in files): | |
314 | self.repo.requirements.add(b'lfs') |
|
314 | self.repo.requirements.add(b'lfs') | |
315 |
self.repo |
|
315 | scmutil.writereporequirements(self.repo) | |
316 |
|
316 | |||
317 | return node |
|
317 | return node | |
318 |
|
318 |
@@ -20,6 +20,7 b' from mercurial import (' | |||||
20 | localrepo, |
|
20 | localrepo, | |
21 | narrowspec, |
|
21 | narrowspec, | |
22 | repair, |
|
22 | repair, | |
|
23 | scmutil, | |||
23 | util, |
|
24 | util, | |
24 | wireprototypes, |
|
25 | wireprototypes, | |
25 | ) |
|
26 | ) | |
@@ -179,7 +180,7 b' def _handlechangespec_2(op, inpart):' | |||||
179 |
|
180 | |||
180 | if not repository.NARROW_REQUIREMENT in op.repo.requirements: |
|
181 | if not repository.NARROW_REQUIREMENT in op.repo.requirements: | |
181 | op.repo.requirements.add(repository.NARROW_REQUIREMENT) |
|
182 | op.repo.requirements.add(repository.NARROW_REQUIREMENT) | |
182 |
op.repo |
|
183 | scmutil.writereporequirements(op.repo) | |
183 | op.repo.setnarrowpats(includepats, excludepats) |
|
184 | op.repo.setnarrowpats(includepats, excludepats) | |
184 | narrowspec.copytoworkingcopy(op.repo) |
|
185 | narrowspec.copytoworkingcopy(op.repo) | |
185 |
|
186 | |||
@@ -195,7 +196,7 b' def _handlenarrowspecs(op, inpart):' | |||||
195 |
|
196 | |||
196 | if repository.NARROW_REQUIREMENT not in op.repo.requirements: |
|
197 | if repository.NARROW_REQUIREMENT not in op.repo.requirements: | |
197 | op.repo.requirements.add(repository.NARROW_REQUIREMENT) |
|
198 | op.repo.requirements.add(repository.NARROW_REQUIREMENT) | |
198 |
op.repo |
|
199 | scmutil.writereporequirements(op.repo) | |
199 | op.repo.setnarrowpats(includepats, excludepats) |
|
200 | op.repo.setnarrowpats(includepats, excludepats) | |
200 | narrowspec.copytoworkingcopy(op.repo) |
|
201 | narrowspec.copytoworkingcopy(op.repo) | |
201 |
|
202 |
@@ -361,7 +361,7 b' def cloneshallow(orig, ui, repo, *args, ' | |||||
361 | self.unfiltered().__class__, |
|
361 | self.unfiltered().__class__, | |
362 | ) |
|
362 | ) | |
363 | self.requirements.add(constants.SHALLOWREPO_REQUIREMENT) |
|
363 | self.requirements.add(constants.SHALLOWREPO_REQUIREMENT) | |
364 |
self |
|
364 | scmutil.writereporequirements(self) | |
365 |
|
365 | |||
366 | # Since setupclient hadn't been called, exchange.pull was not |
|
366 | # Since setupclient hadn't been called, exchange.pull was not | |
367 | # wrapped. So we need to manually invoke our version of it. |
|
367 | # wrapped. So we need to manually invoke our version of it. |
@@ -166,6 +166,7 b' from . import (' | |||||
166 | phases, |
|
166 | phases, | |
167 | pushkey, |
|
167 | pushkey, | |
168 | pycompat, |
|
168 | pycompat, | |
|
169 | scmutil, | |||
169 | streamclone, |
|
170 | streamclone, | |
170 | tags, |
|
171 | tags, | |
171 | url, |
|
172 | url, | |
@@ -1977,7 +1978,7 b' def handlechangegroup(op, inpart):' | |||||
1977 | op.repo.svfs.options = localrepo.resolvestorevfsoptions( |
|
1978 | op.repo.svfs.options = localrepo.resolvestorevfsoptions( | |
1978 | op.repo.ui, op.repo.requirements, op.repo.features |
|
1979 | op.repo.ui, op.repo.requirements, op.repo.features | |
1979 | ) |
|
1980 | ) | |
1980 |
op.repo |
|
1981 | scmutil.writereporequirements(op.repo) | |
1981 |
|
1982 | |||
1982 | bundlesidedata = bool(b'exp-sidedata' in inpart.params) |
|
1983 | bundlesidedata = bool(b'exp-sidedata' in inpart.params) | |
1983 | reposidedata = bool(b'exp-sidedata-flag' in op.repo.requirements) |
|
1984 | reposidedata = bool(b'exp-sidedata-flag' in op.repo.requirements) |
@@ -356,7 +356,7 b' def unshare(ui, repo):' | |||||
356 |
|
356 | |||
357 | repo.requirements.discard(b'shared') |
|
357 | repo.requirements.discard(b'shared') | |
358 | repo.requirements.discard(b'relshared') |
|
358 | repo.requirements.discard(b'relshared') | |
359 |
repo |
|
359 | scmutil.writereporequirements(repo) | |
360 |
|
360 | |||
361 | # Removing share changes some fundamental properties of the repo instance. |
|
361 | # Removing share changes some fundamental properties of the repo instance. | |
362 | # So we instantiate a new repo object and operate on it rather than |
|
362 | # So we instantiate a new repo object and operate on it rather than |
@@ -1298,9 +1298,6 b' class localrepository(object):' | |||||
1298 | caps.add(b'bundle2=' + urlreq.quote(capsblob)) |
|
1298 | caps.add(b'bundle2=' + urlreq.quote(capsblob)) | |
1299 | return caps |
|
1299 | return caps | |
1300 |
|
1300 | |||
1301 | def _writerequirements(self): |
|
|||
1302 | scmutil.writerequires(self.vfs, self.requirements) |
|
|||
1303 |
|
||||
1304 | # Don't cache auditor/nofsauditor, or you'll end up with reference cycle: |
|
1301 | # Don't cache auditor/nofsauditor, or you'll end up with reference cycle: | |
1305 | # self -> auditor -> self._checknested -> self |
|
1302 | # self -> auditor -> self._checknested -> self | |
1306 |
|
1303 |
@@ -1470,6 +1470,13 b' def movedirstate(repo, newctx, match=Non' | |||||
1470 | repo._quick_access_changeid_invalidate() |
|
1470 | repo._quick_access_changeid_invalidate() | |
1471 |
|
1471 | |||
1472 |
|
1472 | |||
|
1473 | def writereporequirements(repo, requirements=None): | |||
|
1474 | """ writes requirements for the repo to .hg/requires """ | |||
|
1475 | if requirements: | |||
|
1476 | repo.requirements = requirements | |||
|
1477 | writerequires(repo.vfs, repo.requirements) | |||
|
1478 | ||||
|
1479 | ||||
1473 | def writerequires(opener, requirements): |
|
1480 | def writerequires(opener, requirements): | |
1474 | with opener(b'requires', b'w', atomictemp=True) as fp: |
|
1481 | with opener(b'requires', b'w', atomictemp=True) as fp: | |
1475 | for r in sorted(requirements): |
|
1482 | for r in sorted(requirements): |
@@ -601,10 +601,10 b' def _updateconfigandrefreshwdir(' | |||||
601 |
|
601 | |||
602 | if b'exp-sparse' in oldrequires and removing: |
|
602 | if b'exp-sparse' in oldrequires and removing: | |
603 | repo.requirements.discard(b'exp-sparse') |
|
603 | repo.requirements.discard(b'exp-sparse') | |
604 |
scmutil.writerequires(repo |
|
604 | scmutil.writereporequirements(repo) | |
605 | elif b'exp-sparse' not in oldrequires: |
|
605 | elif b'exp-sparse' not in oldrequires: | |
606 | repo.requirements.add(b'exp-sparse') |
|
606 | repo.requirements.add(b'exp-sparse') | |
607 |
scmutil.writerequires(repo |
|
607 | scmutil.writereporequirements(repo) | |
608 |
|
608 | |||
609 | try: |
|
609 | try: | |
610 | writeconfig(repo, includes, excludes, profiles) |
|
610 | writeconfig(repo, includes, excludes, profiles) | |
@@ -613,7 +613,7 b' def _updateconfigandrefreshwdir(' | |||||
613 | if repo.requirements != oldrequires: |
|
613 | if repo.requirements != oldrequires: | |
614 | repo.requirements.clear() |
|
614 | repo.requirements.clear() | |
615 | repo.requirements |= oldrequires |
|
615 | repo.requirements |= oldrequires | |
616 |
scmutil.writerequires(repo |
|
616 | scmutil.writereporequirements(repo) | |
617 | writeconfig(repo, oldincludes, oldexcludes, oldprofiles) |
|
617 | writeconfig(repo, oldincludes, oldexcludes, oldprofiles) | |
618 | raise |
|
618 | raise | |
619 |
|
619 |
@@ -20,6 +20,7 b' from . import (' | |||||
20 | narrowspec, |
|
20 | narrowspec, | |
21 | phases, |
|
21 | phases, | |
22 | pycompat, |
|
22 | pycompat, | |
|
23 | scmutil, | |||
23 | store, |
|
24 | store, | |
24 | util, |
|
25 | util, | |
25 | ) |
|
26 | ) | |
@@ -187,7 +188,7 b' def maybeperformlegacystreamclone(pullop' | |||||
187 | repo.svfs.options = localrepo.resolvestorevfsoptions( |
|
188 | repo.svfs.options = localrepo.resolvestorevfsoptions( | |
188 | repo.ui, repo.requirements, repo.features |
|
189 | repo.ui, repo.requirements, repo.features | |
189 | ) |
|
190 | ) | |
190 |
repo |
|
191 | scmutil.writereporequirements(repo) | |
191 |
|
192 | |||
192 | if rbranchmap: |
|
193 | if rbranchmap: | |
193 | repo._branchcaches.replace(repo, rbranchmap) |
|
194 | repo._branchcaches.replace(repo, rbranchmap) | |
@@ -730,4 +731,4 b' def applybundlev2(repo, fp, filecount, f' | |||||
730 | repo.svfs.options = localrepo.resolvestorevfsoptions( |
|
731 | repo.svfs.options = localrepo.resolvestorevfsoptions( | |
731 | repo.ui, repo.requirements, repo.features |
|
732 | repo.ui, repo.requirements, repo.features | |
732 | ) |
|
733 | ) | |
733 |
repo |
|
734 | scmutil.writereporequirements(repo) |
@@ -1091,8 +1091,8 b' def _upgraderepo(' | |||||
1091 | b'unable to read from repository\n' |
|
1091 | b'unable to read from repository\n' | |
1092 | ) |
|
1092 | ) | |
1093 | ) |
|
1093 | ) | |
1094 | scmutil.writerequires( |
|
1094 | scmutil.writereporequirements( | |
1095 |
srcrepo |
|
1095 | srcrepo, srcrepo.requirements | {b'upgradeinprogress'} | |
1096 | ) |
|
1096 | ) | |
1097 |
|
1097 | |||
1098 | ui.status(_(b'starting in-place swap of repository data\n')) |
|
1098 | ui.status(_(b'starting in-place swap of repository data\n')) | |
@@ -1122,7 +1122,7 b' def _upgraderepo(' | |||||
1122 | b'again\n' |
|
1122 | b'again\n' | |
1123 | ) |
|
1123 | ) | |
1124 | ) |
|
1124 | ) | |
1125 |
scmutil.writerequires(srcrepo |
|
1125 | scmutil.writereporequirements(srcrepo, requirements) | |
1126 |
|
1126 | |||
1127 | # The lock file from the old store won't be removed because nothing has a |
|
1127 | # The lock file from the old store won't be removed because nothing has a | |
1128 | # reference to its new location. So clean it up manually. Alternatively, we |
|
1128 | # reference to its new location. So clean it up manually. Alternatively, we |
General Comments 0
You need to be logged in to leave comments.
Login now