# HG changeset patch # User Matt Mackall # Date 1158545486 18000 # Node ID 1c1e59aac82af65ba13bddbfde83e1135e2f07cc # Parent b1de36a4b4dfd2039a694403d5f2956900a5de83 merge: simplify local created logic diff -r b1de36a4b4df -r 1c1e59aac82a mercurial/merge.py --- a/mercurial/merge.py Sun Sep 17 20:43:06 2006 -0500 +++ b/mercurial/merge.py Sun Sep 17 21:11:26 2006 -0500 @@ -133,10 +133,9 @@ elif fmerge(f) != m1.execf(f): ui.debug(_(" updating permissions for %s\n") % f) action.append((f, "e", m2.execf(f))) - # contents same, check mode bits elif m1.execf(f) != m2.execf(f): - if overwrite or fmerge(f) != m1.execf(f) + if overwrite or fmerge(f) != m1.execf(f): ui.debug(_(" updating permissions for %s\n") % f) action.append((f, "e", m2.execf(f))) del m2[f] @@ -151,17 +150,11 @@ action.append((f, "r")) else: # file is created on branch or in working directory - if overwrite and n[20:] != "u": + if (overwrite and n[20:] != "u") or (backwards and not n[20:]): ui.debug(_("remote deleted %s, clobbering\n") % f) action.append((f, "r")) - elif not n[20:]: # same as parent - if backwards: - ui.debug(_("remote deleted %s\n") % f) - action.append((f, "r")) - else: - ui.debug(_("local modified %s, keeping\n") % f) else: - ui.debug(_("working dir created %s, keeping\n") % f) + ui.debug(_("local created %s, keeping\n") % f) for f, n in m2.iteritems(): if f in ma: diff -r b1de36a4b4df -r 1c1e59aac82a tests/test-up-local-change.out --- a/tests/test-up-local-change.out Sun Sep 17 20:43:06 2006 -0500 +++ b/tests/test-up-local-change.out Sun Sep 17 21:11:26 2006 -0500 @@ -33,7 +33,7 @@ resolving manifests overwrite False branchmerge False partial False ancestor 802f095af299 local 33aaa84a386b remote 33aaa84a386b -remote deleted b +remote deleted b, clobbering removing b 0 files updated, 0 files merged, 1 files removed, 0 files unresolved changeset: 0:33aaa84a386b