Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hg.py @ 228:2502aa663484
teach rawcommit about dirstate.parents()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
teach rawcommit about dirstate.parents()
manifest hash: 776f28b896f8de8c39c9edb0956faca78c1a827a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCoMN2ywK+sNU5EO8RAnJpAKCh5MVSMNlk1GRYPm7IOavhurYPLgCfYc9w
k4bTiV62lgoyItdmkynS1Jg=
=gVyk
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Fri, 03 Jun 2005 12:54:14 -0800 |
parents | f57519cddd3d |
children | 1b11da6ee69e |
comparison
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() |