hgext/mq.py
changeset 2855 cdbca3d59518
parent 2851 82f50658c72b
parent 2840 046a8b03ea59
child 2856 a3c73c9679d2
equal deleted inserted replaced
2853:619f1c65384c 2855:cdbca3d59518
   886         # form of hg.update.
   886         # form of hg.update.
   887         if update:
   887         if update:
   888             top = self.check_toppatch(repo)
   888             top = self.check_toppatch(repo)
   889             qp = self.qparents(repo, rev)
   889             qp = self.qparents(repo, rev)
   890             changes = repo.changelog.read(qp)
   890             changes = repo.changelog.read(qp)
   891             mf1 = repo.manifest.readflags(changes[0])
       
   892             mmap = repo.manifest.read(changes[0])
   891             mmap = repo.manifest.read(changes[0])
   893             (c, a, r, d, u) = repo.changes(qp, top)
   892             (c, a, r, d, u) = repo.changes(qp, top)
   894             if d:
   893             if d:
   895                 raise util.Abort("deletions found between repo revs")
   894                 raise util.Abort("deletions found between repo revs")
   896             for f in c:
   895             for f in c:
   897                 getfile(f, mmap[f])
   896                 getfile(f, mmap[f])
   898             for f in r:
   897             for f in r:
   899                 getfile(f, mmap[f])
   898                 getfile(f, mmap[f])
   900                 util.set_exec(repo.wjoin(f), mf1[f])
   899                 util.set_exec(repo.wjoin(f), mmap.execf[f])
   901             repo.dirstate.update(c + r, 'n')
   900             repo.dirstate.update(c + r, 'n')
   902             for f in a:
   901             for f in a:
   903                 try: os.unlink(repo.wjoin(f))
   902                 try: os.unlink(repo.wjoin(f))
   904                 except: raise
   903                 except: raise
   905                 try: os.removedirs(os.path.dirname(repo.wjoin(f)))
   904                 try: os.removedirs(os.path.dirname(repo.wjoin(f)))