##// END OF EJS Templates
mq: simplify and use context API
Benoit Boissinot -
r10663:85e81d9b default
parent child Browse files
Show More
@@ -1104,10 +1104,6 b' class queue(object):'
1104 wlock.release()
1104 wlock.release()
1105
1105
1106 def pop(self, repo, patch=None, force=False, update=True, all=False):
1106 def pop(self, repo, patch=None, force=False, update=True, all=False):
1107 def getfile(f, rev, flags):
1108 t = repo.file(f).read(rev)
1109 repo.wwrite(f, t, flags)
1110
1111 wlock = repo.wlock()
1107 wlock = repo.wlock()
1112 try:
1108 try:
1113 if patch:
1109 if patch:
@@ -1175,8 +1171,7 b' class queue(object):'
1175 # form of hg.update.
1171 # form of hg.update.
1176 if update:
1172 if update:
1177 qp = self.qparents(repo, rev)
1173 qp = self.qparents(repo, rev)
1178 changes = repo.changelog.read(qp)
1174 ctx = repo[qp]
1179 mmap = repo.manifest.read(changes[0])
1180 m, a, r, d = repo.status(qp, top)[:4]
1175 m, a, r, d = repo.status(qp, top)[:4]
1181 if d:
1176 if d:
1182 raise util.Abort(_("deletions found between repo revs"))
1177 raise util.Abort(_("deletions found between repo revs"))
@@ -1189,11 +1184,9 b' class queue(object):'
1189 try: os.removedirs(os.path.dirname(repo.wjoin(f)))
1184 try: os.removedirs(os.path.dirname(repo.wjoin(f)))
1190 except: pass
1185 except: pass
1191 repo.dirstate.forget(f)
1186 repo.dirstate.forget(f)
1192 for f in m:
1193 getfile(f, mmap[f], mmap.flags(f))
1194 for f in r:
1195 getfile(f, mmap[f], mmap.flags(f))
1196 for f in m + r:
1187 for f in m + r:
1188 fctx = ctx[f]
1189 repo.wwrite(f, fctx.data(), fctx.flags())
1197 repo.dirstate.normal(f)
1190 repo.dirstate.normal(f)
1198 repo.dirstate.setparents(qp, nullid)
1191 repo.dirstate.setparents(qp, nullid)
1199 for patch in reversed(self.applied[start:end]):
1192 for patch in reversed(self.applied[start:end]):
General Comments 0
You need to be logged in to leave comments. Login now