# HG changeset patch # User Alexis S. L. Carvalho # Date 1181357352 10800 # Node ID 591322269fed003d8bd7ec277930043271d03238 # Parent d634b61e9cecfe2728ad57a14821f4f66ef4f6c5 Use absolute paths in addremove. This is more consistent with other places in the code, which only use the "relpath" returned by cmdutil.walk for display purposes. diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -186,13 +186,15 @@ def addremove(repo, pats=[], opts={}, wl add, remove = [], [] mapping = {} for src, abs, rel, exact in walk(repo, pats, opts): + target = repo.wjoin(abs) if src == 'f' and repo.dirstate.state(abs) == '?': add.append(abs) mapping[abs] = rel, exact if repo.ui.verbose or not exact: repo.ui.status(_('adding %s\n') % ((pats and rel) or abs)) - islink = os.path.islink(rel) - if repo.dirstate.state(abs) != 'r' and not islink and not os.path.exists(rel): + islink = os.path.islink(target) + if (repo.dirstate.state(abs) != 'r' and not islink + and not os.path.exists(target)): remove.append(abs) mapping[abs] = rel, exact if repo.ui.verbose or not exact: