diff -r b391c0c9be61 -r 6169493ac3f9 mercurial/merge.py --- a/mercurial/merge.py Thu Feb 17 18:05:27 2011 -0200 +++ b/mercurial/merge.py Wed Feb 16 08:56:11 2011 -0800 @@ -508,6 +508,11 @@ if not force and (wc.files() or wc.deleted()): raise util.Abort(_("outstanding uncommitted changes " "(use 'hg status' to list changes)")) + for s in wc.substate: + if wc.sub(s).dirty(): + raise util.Abort(_("outstanding uncommitted changes in " + "subrepository '%s'") % s) + elif not overwrite: if pa == p1 or pa == p2: # linear pass # all good