diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2256,7 +2256,8 @@ def revert(ui, repo, *pats, **opts): def handle(xlist, dobackup): xlist[0].append(abs) update[abs] = 1 - if dobackup and not opts['no_backup'] and os.path.exists(rel): + if (dobackup and not opts['no_backup'] and + (os.path.islink(rel) or os.path.exists(rel))): bakname = "%s.orig" % rel ui.note(_('saving current version of %s as %s\n') % (rel, bakname))