mercurial/hg.py
changeset 228 2502aa663484
parent 227 f57519cddd3d
child 229 1b11da6ee69e
equal deleted inserted replaced
227:f57519cddd3d 228:2502aa663484
   386                 self.ui.warn("waiting for lock held by %s\n" % inst.args[0])
   386                 self.ui.warn("waiting for lock held by %s\n" % inst.args[0])
   387                 return lock.lock(self.join("lock"), wait)
   387                 return lock.lock(self.join("lock"), wait)
   388             raise inst
   388             raise inst
   389 
   389 
   390     def rawcommit(self, files, text, user, date, p1=None, p2=None):
   390     def rawcommit(self, files, text, user, date, p1=None, p2=None):
   391         p1 = p1 or self.current or nullid
   391         p1 = p1 or self.dirstate.parents()[0] or nullid
       
   392         p2 = p2 or self.dirstate.parents()[1] or nullid
   392         pchange = self.changelog.read(p1)
   393         pchange = self.changelog.read(p1)
   393         pmmap = self.manifest.read(pchange[0])
   394         pmmap = self.manifest.read(pchange[0])
   394         tr = self.transaction()
   395         tr = self.transaction()
   395         mmap = {}
   396         mmap = {}
   396         linkrev = self.changelog.count()
   397         linkrev = self.changelog.count()
   399                 t = file(f).read()
   400                 t = file(f).read()
   400             except IOError:
   401             except IOError:
   401                 self.ui.warn("Read file %s error, skipped\n" % f)
   402                 self.ui.warn("Read file %s error, skipped\n" % f)
   402                 continue
   403                 continue
   403             r = self.file(f)
   404             r = self.file(f)
       
   405             # FIXME - need to find both parents properly
   404             prev = pmmap.get(f, nullid)
   406             prev = pmmap.get(f, nullid)
   405             mmap[f] = r.add(t, tr, linkrev, prev)
   407             mmap[f] = r.add(t, tr, linkrev, prev)
   406 
   408 
   407         mnode = self.manifest.add(mmap, tr, linkrev, pchange[0])
   409         mnode = self.manifest.add(mmap, tr, linkrev, pchange[0])
   408         n = self.changelog.add(mnode, files, text, tr, p1, p2, user ,date, )
   410         n = self.changelog.add(mnode, files, text, tr, p1, p2, user ,date, )
   409         tr.close()
   411         tr.close()
   410         self.setcurrent(n)
   412         self.dirstate.setparents(p1, p2)
   411         self.dirstate.clear()
   413         self.dirstate.clear()
   412         self.dirstate.update(mmap.keys(), "n")
   414         self.dirstate.update(mmap.keys(), "n")
   413 
   415 
   414     def commit(self, parent, files = None, text = ""):
   416     def commit(self, parent, files = None, text = ""):
   415         self.lock()
   417         self.lock()