##// END OF EJS Templates
dirstate: use wlock and `dirstate.change_files` to scope the change in `mq`...
marmoute -
r50942:3c431f75 default
parent child Browse files
Show More
@@ -791,7 +791,10 b' class queue:'
791 if self.added:
791 if self.added:
792 qrepo = self.qrepo()
792 qrepo = self.qrepo()
793 if qrepo:
793 if qrepo:
794 qrepo[None].add(f for f in self.added if f not in qrepo[None])
794 with qrepo.wlock(), qrepo.dirstate.changing_files(qrepo):
795 qrepo[None].add(
796 f for f in self.added if f not in qrepo[None]
797 )
795 self.added = []
798 self.added = []
796
799
797 def removeundo(self, repo):
800 def removeundo(self, repo):
@@ -1129,7 +1132,8 b' class queue:'
1129 if not keep:
1132 if not keep:
1130 r = self.qrepo()
1133 r = self.qrepo()
1131 if r:
1134 if r:
1132 r[None].forget(patches)
1135 with r.wlock(), r.dirstate.changing_files(r):
1136 r[None].forget(patches)
1133 for p in patches:
1137 for p in patches:
1134 try:
1138 try:
1135 os.unlink(self.join(p))
1139 os.unlink(self.join(p))
@@ -1464,7 +1468,8 b' class queue:'
1464 p.close()
1468 p.close()
1465 r = self.qrepo()
1469 r = self.qrepo()
1466 if r:
1470 if r:
1467 r[None].add([patchfn])
1471 with r.wlock(), r.dirstate.changing_files(r):
1472 r[None].add([patchfn])
1468 except: # re-raises
1473 except: # re-raises
1469 repo.rollback()
1474 repo.rollback()
1470 raise
1475 raise
@@ -2760,18 +2765,19 b' def qinit(ui, repo, create):'
2760 r = q.init(repo, create)
2765 r = q.init(repo, create)
2761 q.savedirty()
2766 q.savedirty()
2762 if r:
2767 if r:
2763 if not os.path.exists(r.wjoin(b'.hgignore')):
2768 with r.wlock(), r.dirstate.changing_files(r):
2764 fp = r.wvfs(b'.hgignore', b'w')
2769 if not os.path.exists(r.wjoin(b'.hgignore')):
2765 fp.write(b'^\\.hg\n')
2770 fp = r.wvfs(b'.hgignore', b'w')
2766 fp.write(b'^\\.mq\n')
2771 fp.write(b'^\\.hg\n')
2767 fp.write(b'syntax: glob\n')
2772 fp.write(b'^\\.mq\n')
2768 fp.write(b'status\n')
2773 fp.write(b'syntax: glob\n')
2769 fp.write(b'guards\n')
2774 fp.write(b'status\n')
2770 fp.close()
2775 fp.write(b'guards\n')
2771 if not os.path.exists(r.wjoin(b'series')):
2776 fp.close()
2772 r.wvfs(b'series', b'w').close()
2777 if not os.path.exists(r.wjoin(b'series')):
2773 r[None].add([b'.hgignore', b'series'])
2778 r.wvfs(b'series', b'w').close()
2774 commands.add(ui, r)
2779 r[None].add([b'.hgignore', b'series'])
2780 commands.add(ui, r)
2775 return 0
2781 return 0
2776
2782
2777
2783
@@ -3629,8 +3635,8 b' def rename(ui, repo, patch, name=None, *'
3629 util.rename(q.join(patch), absdest)
3635 util.rename(q.join(patch), absdest)
3630 r = q.qrepo()
3636 r = q.qrepo()
3631 if r and patch in r.dirstate:
3637 if r and patch in r.dirstate:
3632 wctx = r[None]
3638 with r.wlock(), r.dirstate.changing_files(r):
3633 with r.wlock():
3639 wctx = r[None]
3634 if r.dirstate.get_entry(patch).added:
3640 if r.dirstate.get_entry(patch).added:
3635 r.dirstate.set_untracked(patch)
3641 r.dirstate.set_untracked(patch)
3636 r.dirstate.set_tracked(name)
3642 r.dirstate.set_tracked(name)
General Comments 0
You need to be logged in to leave comments. Login now