diff -r 39d1f83eb05d -r 63c817ea4a70 mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Apr 24 16:32:44 2012 +0200 +++ b/mercurial/localrepo.py Sat Apr 28 15:01:57 2012 +0200 @@ -1147,6 +1147,9 @@ and wctx.branch() == wctx.p1().branch()): return None + if merge and changes[3]: + raise util.Abort(_("cannot commit merge with missing files")) + ms = mergemod.mergestate(self) for f in changes[0]: if f in ms and ms[f] == 'u':