Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 48114:304267b077de
dirstate-item: use item's property instead of `state` in copy
Differential Revision: https://phab.mercurial-scm.org/D11539
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 29 Sep 2021 18:32:21 +0200 |
parents | 571dd808c6c8 |
children | e8d6261513b9 |
comparison
equal
deleted
inserted
replaced
48113:78e66649cdb3 | 48114:304267b077de |
---|---|
1640 abspath, absname = abstarget.rsplit(b'/', 1) | 1640 abspath, absname = abstarget.rsplit(b'/', 1) |
1641 abstarget = repo.dirstate.normalize(abspath) + b'/' + absname | 1641 abstarget = repo.dirstate.normalize(abspath) + b'/' + absname |
1642 reltarget = repo.pathto(abstarget, cwd) | 1642 reltarget = repo.pathto(abstarget, cwd) |
1643 target = repo.wjoin(abstarget) | 1643 target = repo.wjoin(abstarget) |
1644 src = repo.wjoin(abssrc) | 1644 src = repo.wjoin(abssrc) |
1645 state = repo.dirstate[abstarget] | 1645 entry = repo.dirstate.get_entry(abstarget) |
1646 | |
1647 already_commited = entry.tracked and not entry.added | |
1646 | 1648 |
1647 scmutil.checkportable(ui, abstarget) | 1649 scmutil.checkportable(ui, abstarget) |
1648 | 1650 |
1649 # check for collisions | 1651 # check for collisions |
1650 prevsrc = targets.get(abstarget) | 1652 prevsrc = targets.get(abstarget) |
1670 ui.warn(_(b"%s: can't copy - same file\n") % reltarget) | 1672 ui.warn(_(b"%s: can't copy - same file\n") % reltarget) |
1671 return True # report a failure | 1673 return True # report a failure |
1672 exists = False | 1674 exists = False |
1673 samefile = True | 1675 samefile = True |
1674 | 1676 |
1675 if not after and exists or after and state in b'mn': | 1677 if not after and exists or after and already_commited: |
1676 if not opts[b'force']: | 1678 if not opts[b'force']: |
1677 if state in b'mn': | 1679 if already_commited: |
1678 msg = _(b'%s: not overwriting - file already committed\n') | 1680 msg = _(b'%s: not overwriting - file already committed\n') |
1679 if after: | 1681 if after: |
1680 flags = b'--after --force' | 1682 flags = b'--after --force' |
1681 else: | 1683 else: |
1682 flags = b'--force' | 1684 flags = b'--force' |