mercurial/localrepo.py
changeset 3956 497c69726a04
parent 3945 79cf097774ef
child 3996 c190df14338c
equal deleted inserted replaced
3955:9af4b853ed4d 3956:497c69726a04
   725                     remove.append(f)
   725                     remove.append(f)
   726 
   726 
   727         # update manifest
   727         # update manifest
   728         m1.update(new)
   728         m1.update(new)
   729         remove.sort()
   729         remove.sort()
       
   730         removed = []
   730 
   731 
   731         for f in remove:
   732         for f in remove:
   732             if f in m1:
   733             if f in m1:
   733                 del m1[f]
   734                 del m1[f]
   734         mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, remove))
   735                 removed.append(f)
       
   736         mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, removed))
   735 
   737 
   736         # add changeset
   738         # add changeset
   737         new = new.keys()
   739         new = new.keys()
   738         new.sort()
   740         new.sort()
   739 
   741 
   745             edittext.append("")
   747             edittext.append("")
   746             edittext.append("HG: user: %s" % user)
   748             edittext.append("HG: user: %s" % user)
   747             if p2 != nullid:
   749             if p2 != nullid:
   748                 edittext.append("HG: branch merge")
   750                 edittext.append("HG: branch merge")
   749             edittext.extend(["HG: changed %s" % f for f in changed])
   751             edittext.extend(["HG: changed %s" % f for f in changed])
   750             edittext.extend(["HG: removed %s" % f for f in remove])
   752             edittext.extend(["HG: removed %s" % f for f in removed])
   751             if not changed and not remove:
   753             if not changed and not remove:
   752                 edittext.append("HG: no files changed")
   754                 edittext.append("HG: no files changed")
   753             edittext.append("")
   755             edittext.append("")
   754             # run editor in the repository root
   756             # run editor in the repository root
   755             olddir = os.getcwd()
   757             olddir = os.getcwd()
   763         if not lines:
   765         if not lines:
   764             return None
   766             return None
   765         text = '\n'.join(lines)
   767         text = '\n'.join(lines)
   766         if branchname:
   768         if branchname:
   767             extra["branch"] = branchname
   769             extra["branch"] = branchname
   768         n = self.changelog.add(mn, changed + remove, text, tr, p1, p2,
   770         n = self.changelog.add(mn, changed + removed, text, tr, p1, p2,
   769                                user, date, extra)
   771                                user, date, extra)
   770         self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1,
   772         self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1,
   771                   parent2=xp2)
   773                   parent2=xp2)
   772         tr.close()
   774         tr.close()
   773 
   775 
   774         if use_dirstate or update_dirstate:
   776         if use_dirstate or update_dirstate:
   775             self.dirstate.setparents(n)
   777             self.dirstate.setparents(n)
   776             if use_dirstate:
   778             if use_dirstate:
   777                 self.dirstate.update(new, "n")
   779                 self.dirstate.update(new, "n")
   778                 self.dirstate.forget(remove)
   780                 self.dirstate.forget(removed)
   779 
   781 
   780         self.hook("commit", node=hex(n), parent1=xp1, parent2=xp2)
   782         self.hook("commit", node=hex(n), parent1=xp1, parent2=xp2)
   781         return n
   783         return n
   782 
   784 
   783     def walk(self, node=None, files=[], match=util.always, badmatch=None):
   785     def walk(self, node=None, files=[], match=util.always, badmatch=None):