# HG changeset patch # User Martin von Zweigbergk # Date 1549344224 28800 # Node ID 1f2714052d7eebb3fd1c867e6ebdb13c5a913672 # Parent ef2295651351ea16fdd968282f16b063f8f2df64 merge: don't unnecessarily calculate absolute path I think this also makes the code clearer (and prepares for a later patch that replaces origpath()). Differential Revision: https://phab.mercurial-scm.org/D5849 diff -r ef2295651351 -r 1f2714052d7e mercurial/merge.py --- a/mercurial/merge.py Mon Feb 04 21:21:55 2019 -0800 +++ b/mercurial/merge.py Mon Feb 04 21:23:44 2019 -0800 @@ -1499,13 +1499,14 @@ # If a file or directory exists with the same name, back that # up. Otherwise, look to see if there is a file that conflicts # with a directory this file is in, and if so, back that up. - absf = repo.wjoin(f) + conflicting = f if not repo.wvfs.lexists(f): for p in util.finddirs(f): if repo.wvfs.isfileorlink(p): - absf = repo.wjoin(p) + conflicting = p break - if repo.wvfs.lexists(absf): + if repo.wvfs.lexists(conflicting): + absf = repo.wjoin(conflicting) orig = scmutil.origpath(ui, repo, absf) util.rename(absf, orig) wctx[f].clearunknown()