# HG changeset patch # User Alexis S. L. Carvalho # Date 1205499418 10800 # Node ID 69c75d063c7a08180667a3234e8b0c886d0d3cf1 # Parent ae83d927c629f44c30dc06e5126faa61ac12d967 merge: require --force when there are deleted files diff -r ae83d927c629 -r 69c75d063c7a mercurial/merge.py --- a/mercurial/merge.py Fri Mar 14 09:56:58 2008 -0300 +++ b/mercurial/merge.py Fri Mar 14 09:56:58 2008 -0300 @@ -609,7 +609,7 @@ raise util.Abort(_("update spans branches, use 'hg merge' " "or 'hg update -C' to lose changes")) if branchmerge and not forcemerge: - if wc.files(): + if wc.files() or wc.deleted(): raise util.Abort(_("outstanding uncommitted changes")) ### calculate phase diff -r ae83d927c629 -r 69c75d063c7a tests/test-merge-force --- a/tests/test-merge-force Fri Mar 14 09:56:58 2008 -0300 +++ b/tests/test-merge-force Fri Mar 14 09:56:58 2008 -0300 @@ -17,7 +17,8 @@ rm a echo '% local deleted a file, remote removed' -hg -v merge +hg merge # should fail, since there are deleted files +hg -v merge --force echo % should show a as removed hg st diff -r ae83d927c629 -r 69c75d063c7a tests/test-merge-force.out --- a/tests/test-merge-force.out Fri Mar 14 09:56:58 2008 -0300 +++ b/tests/test-merge-force.out Fri Mar 14 09:56:58 2008 -0300 @@ -1,4 +1,5 @@ % local deleted a file, remote removed +abort: outstanding uncommitted changes resolving manifests removing a 0 files updated, 0 files merged, 1 files removed, 0 files unresolved