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