Show More
@@ -1668,7 +1668,7 def istreemanifest(repo) -> bool: | |||||
1668 | return requirementsmod.TREEMANIFEST_REQUIREMENT in repo.requirements |
|
1668 | return requirementsmod.TREEMANIFEST_REQUIREMENT in repo.requirements | |
1669 |
|
1669 | |||
1670 |
|
1670 | |||
1671 | def writereporequirements(repo, requirements=None) -> None: |
|
1671 | def writereporequirements(repo, requirements=None, maywritestore=True) -> None: | |
1672 | """writes requirements for the repo |
|
1672 | """writes requirements for the repo | |
1673 |
|
1673 | |||
1674 | Requirements are written to .hg/requires and .hg/store/requires based |
|
1674 | Requirements are written to .hg/requires and .hg/store/requires based | |
@@ -1681,10 +1681,11 def writereporequirements(repo, requirem | |||||
1681 | if wcreq is not None: |
|
1681 | if wcreq is not None: | |
1682 | writerequires(repo.vfs, wcreq) |
|
1682 | writerequires(repo.vfs, wcreq) | |
1683 | if storereq is not None: |
|
1683 | if storereq is not None: | |
1684 | writerequires(repo.svfs, storereq) |
|
1684 | writerequires(repo.svfs, storereq, maywrite=maywritestore) | |
1685 | elif repo.ui.configbool(b'format', b'usestore'): |
|
1685 | elif repo.ui.configbool(b'format', b'usestore'): | |
1686 | # only remove store requires if we are using store |
|
1686 | # only remove store requires if we are using store | |
1687 | repo.svfs.tryunlink(b'requires') |
|
1687 | if maywritestore: | |
|
1688 | repo.svfs.tryunlink(b'requires') | |||
1688 |
|
1689 | |||
1689 |
|
1690 | |||
1690 | def readrequires(vfs, allowmissing): |
|
1691 | def readrequires(vfs, allowmissing): | |
@@ -1701,9 +1702,11 def readrequires(vfs, allowmissing): | |||||
1701 | return set(read(b'requires').splitlines()) |
|
1702 | return set(read(b'requires').splitlines()) | |
1702 |
|
1703 | |||
1703 |
|
1704 | |||
1704 | def writerequires(opener, requirements) -> None: |
|
1705 | def writerequires(opener, requirements, maywrite=True) -> None: | |
1705 | on_disk = readrequires(opener, True) |
|
1706 | on_disk = readrequires(opener, True) | |
1706 | if not (on_disk == set(requirements)): |
|
1707 | if not (on_disk == set(requirements)): | |
|
1708 | if not maywrite: | |||
|
1709 | raise error.Abort(_(b"store requirements are not as expected")) | |||
1707 | with opener(b'requires', b'w', atomictemp=True) as fp: |
|
1710 | with opener(b'requires', b'w', atomictemp=True) as fp: | |
1708 | for r in sorted(requirements): |
|
1711 | for r in sorted(requirements): | |
1709 | fp.write(b"%s\n" % r) |
|
1712 | fp.write(b"%s\n" % r) |
@@ -632,10 +632,10 def _updateconfigandrefreshwdir( | |||||
632 |
|
632 | |||
633 | if requirements.SPARSE_REQUIREMENT in oldrequires and removing: |
|
633 | if requirements.SPARSE_REQUIREMENT in oldrequires and removing: | |
634 | repo.requirements.discard(requirements.SPARSE_REQUIREMENT) |
|
634 | repo.requirements.discard(requirements.SPARSE_REQUIREMENT) | |
635 | scmutil.writereporequirements(repo) |
|
635 | scmutil.writereporequirements(repo, maywritestore=False) | |
636 | elif requirements.SPARSE_REQUIREMENT not in oldrequires: |
|
636 | elif requirements.SPARSE_REQUIREMENT not in oldrequires: | |
637 | repo.requirements.add(requirements.SPARSE_REQUIREMENT) |
|
637 | repo.requirements.add(requirements.SPARSE_REQUIREMENT) | |
638 | scmutil.writereporequirements(repo) |
|
638 | scmutil.writereporequirements(repo, maywritestore=False) | |
639 |
|
639 | |||
640 | try: |
|
640 | try: | |
641 | writeconfig(repo, includes, excludes, profiles) |
|
641 | writeconfig(repo, includes, excludes, profiles) | |
@@ -644,7 +644,7 def _updateconfigandrefreshwdir( | |||||
644 | if repo.requirements != oldrequires: |
|
644 | if repo.requirements != oldrequires: | |
645 | repo.requirements.clear() |
|
645 | repo.requirements.clear() | |
646 | repo.requirements |= oldrequires |
|
646 | repo.requirements |= oldrequires | |
647 | scmutil.writereporequirements(repo) |
|
647 | scmutil.writereporequirements(repo, maywritestore=False) | |
648 | writeconfig(repo, oldincludes, oldexcludes, oldprofiles) |
|
648 | writeconfig(repo, oldincludes, oldexcludes, oldprofiles) | |
649 | raise |
|
649 | raise | |
650 |
|
650 |
General Comments 0
You need to be logged in to leave comments.
Login now