Mercurial > public > mercurial-scm > hg
diff mercurial/cmdutil.py @ 7121:b801d6e5dc83
rename: handle renaming to a target marked removed
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 18 Oct 2008 04:26:09 -0500 |
parents | 2268edff1bec |
children | b4c035057d34 |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Fri Oct 17 12:12:33 2008 +0200 +++ b/mercurial/cmdutil.py Sat Oct 18 04:26:09 2008 -0500 @@ -398,12 +398,12 @@ if state not in 'mn' and not dryrun: repo.dirstate.normallookup(abstarget) else: - if repo.dirstate[origsrc] == 'a': + if repo.dirstate[origsrc] == 'a' and origsrc == abssrc: if not ui.quiet: ui.warn(_("%s has not been committed yet, so no copy " "data will be stored for %s.\n") % (repo.pathto(origsrc, cwd), reltarget)) - if abstarget not in repo.dirstate and not dryrun: + if repo.dirstate[abstarget] in '?r' and not dryrun: repo.add([abstarget]) elif not dryrun: repo.copy(origsrc, abstarget)