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() |