630 # updated. But this requires massive rework to matcher() and its |
630 # updated. But this requires massive rework to matcher() and its |
631 # consumers. |
631 # consumers. |
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) |
642 return refreshwdir(repo, oldstatus, oldmatch, force=force) |
642 return refreshwdir(repo, oldstatus, oldmatch, force=force) |
643 except Exception: |
643 except Exception: |
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 |
651 |
651 |
652 def clearrules(repo, force=False): |
652 def clearrules(repo, force=False): |