diff -r 0ed2732aa393 -r 41989e55fa37 mercurial/merge.py --- a/mercurial/merge.py Sun Oct 29 10:55:38 2006 +0100 +++ b/mercurial/merge.py Sun Oct 29 13:08:10 2006 +0100 @@ -384,9 +384,13 @@ if branchmerge: raise util.Abort(_("there is nothing to merge, just use " "'hg update' or look at 'hg heads'")) - elif not (overwrite or branchmerge): - raise util.Abort(_("update spans branches, use 'hg merge' " - "or 'hg update -C' to lose changes")) + elif not branchmerge: + if not overwrite: + if wc.files(): + raise util.Abort(_("outstanding uncommited changes, use " + "'hg update -C' to lose changes")) + else: + overwrite = True if branchmerge and not forcemerge: if wc.modified() or wc.added() or wc.removed(): raise util.Abort(_("outstanding uncommitted changes"))