# HG changeset patch # User mpm@selenic.com # Date 1119577384 28800 # Node ID a1e91c24dab5c818dbe22f0196c38c3e5ccc8b6a # Parent c9d1341653929c2d4e267066223cfab4668ecbbc rawcommit: do lookup of parents at the appropriate layer -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 rawcommit: do lookup of parents at the appropriate layer manifest hash: fc4b2d4416d00da5db2f4659e42ecba2a96dba1e -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCu2UoywK+sNU5EO8RApdDAJ9Vph6qVyzL++YeXyFC8HKf9ZhkGgCeNc0Y j2AMu6aWmuLuy2XwztS8gms= =f8mQ -----END PGP SIGNATURE----- diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -553,7 +553,9 @@ def rawcommit(ui, repo, *flist, **rc): files = relpath(repo, list(flist)) if rc['files']: files += open(rc['files']).read().splitlines() - + + rc['parent'] = map(repo.lookup, rc['parent']) + repo.rawcommit(files, text, rc['user'], rc['date'], *rc['parent']) def recover(ui, repo): diff --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -478,8 +478,8 @@ class localrepository: def rawcommit(self, files, text, user, date, p1=None, p2=None): orig_parent = self.dirstate.parents()[0] or nullid - p1 = (p1 and self.lookup(p1)) or self.dirstate.parents()[0] or nullid - p2 = (p2 and self.lookup(p2)) or self.dirstate.parents()[1] or nullid + p1 = p1 or self.dirstate.parents()[0] or nullid + p2 = p2 or self.dirstate.parents()[1] or nullid c1 = self.changelog.read(p1) c2 = self.changelog.read(p2) m1 = self.manifest.read(c1[0])