diff -r 8d7d68dd91fd -r a23ee0208f77 mercurial/commands.py --- a/mercurial/commands.py Thu Sep 17 18:12:53 2009 -0400 +++ b/mercurial/commands.py Tue Sep 29 00:23:01 2009 +0200 @@ -2152,7 +2152,8 @@ roots, heads = [common.node()], [p2.node()] displayer = cmdutil.show_changeset(ui, repo, opts) for node in repo.changelog.nodesbetween(roots=roots, heads=heads)[0]: - displayer.show(repo[node]) + if node not in roots: + displayer.show(repo[node]) return 0 return hg.merge(repo, node, force=opts.get('force')) @@ -3041,7 +3042,10 @@ if not rev: rev = node - if not clean and check: + if check and clean: + raise util.Abort(_("cannot specify both -c/--check and -C/--clean")) + + if check: # we could use dirty() but we can ignore merge and branch trivia c = repo[None] if c.modified() or c.added() or c.removed():