Mercurial > hg
changeset 48103:8f452fecd0a4
dirstate-item: use item's property when computing a copies
Differential Revision: https://phab.mercurial-scm.org/D11540
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 29 Sep 2021 18:36:12 +0200 |
parents | 304267b077de |
children | e8d6261513b9 |
files | mercurial/scmutil.py |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/scmutil.py Wed Sep 29 18:32:21 2021 +0200 +++ b/mercurial/scmutil.py Wed Sep 29 18:36:12 2021 +0200 @@ -1455,10 +1455,11 @@ """ origsrc = repo.dirstate.copied(src) or src if dst == origsrc: # copying back a copy? - if repo.dirstate[dst] not in b'mn' and not dryrun: + entry = repo.dirstate.get_entry(dst) + if (entry.added or not entry.tracked) and not dryrun: repo.dirstate.set_tracked(dst) else: - if repo.dirstate[origsrc] == b'a' and origsrc == src: + if repo.dirstate.get_entry(origsrc).added and origsrc == src: if not ui.quiet: ui.warn( _( @@ -1467,7 +1468,7 @@ ) % (repo.pathto(origsrc, cwd), repo.pathto(dst, cwd)) ) - if repo.dirstate[dst] in b'?r' and not dryrun: + if not repo.dirstate.get_entry(dst).tracked and not dryrun: wctx.add([dst]) elif not dryrun: wctx.copy(origsrc, dst)