mercurial/cmdutil.py
changeset 4136 eb5d4fec1487
parent 4135 6cb6cfe43c5d
child 4195 b5d1eaade333
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -185,7 +185,8 @@ def addremove(repo, pats=[], opts={}, wl
             mapping[abs] = rel, exact
             if repo.ui.verbose or not exact:
                 repo.ui.status(_('adding %s\n') % ((pats and rel) or abs))
-        if repo.dirstate.state(abs) != 'r' and not os.path.exists(rel):
+        islink = os.path.islink(rel)
+        if repo.dirstate.state(abs) != 'r' and not islink and not os.path.exists(rel):
             remove.append(abs)
             mapping[abs] = rel, exact
             if repo.ui.verbose or not exact: