comparison mercurial/cmdutil.py @ 31157:accdd5e62066

revert: move code dealing with deletions closer together
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 24 Feb 2016 14:44:14 -0800
parents c22253c4c1b8
children 48a8b2e5fe31
comparison
equal deleted inserted replaced
31156:e5aab82edf7f 31157:accdd5e62066
2974 unknown = set(changes.unknown) 2974 unknown = set(changes.unknown)
2975 unknown.update(changes.ignored) 2975 unknown.update(changes.ignored)
2976 clean = set(changes.clean) 2976 clean = set(changes.clean)
2977 modadded = set() 2977 modadded = set()
2978 2978
2979 # determine the exact nature of the deleted changesets
2980 deladded = set(_deleted)
2981 for path in _deleted:
2982 if path in mf:
2983 deladded.remove(path)
2984 deleted = _deleted - deladded
2985
2986 # We need to account for the state of the file in the dirstate, 2979 # We need to account for the state of the file in the dirstate,
2987 # even when we revert against something else than parent. This will 2980 # even when we revert against something else than parent. This will
2988 # slightly alter the behavior of revert (doing back up or not, delete 2981 # slightly alter the behavior of revert (doing back up or not, delete
2989 # or just forget etc). 2982 # or just forget etc).
2990 if parent == node: 2983 if parent == node:
3037 src = repo.dirstate.copied(f) 3030 src = repo.dirstate.copied(f)
3038 # XXX should we check for rename down to target node? 3031 # XXX should we check for rename down to target node?
3039 if src and src not in names and repo.dirstate[src] == 'r': 3032 if src and src not in names and repo.dirstate[src] == 'r':
3040 dsremoved.add(src) 3033 dsremoved.add(src)
3041 names[src] = (repo.pathto(src, cwd), True) 3034 names[src] = (repo.pathto(src, cwd), True)
3035
3036 # determine the exact nature of the deleted changesets
3037 deladded = set(_deleted)
3038 for path in _deleted:
3039 if path in mf:
3040 deladded.remove(path)
3041 deleted = _deleted - deladded
3042 3042
3043 # distinguish between file to forget and the other 3043 # distinguish between file to forget and the other
3044 added = set() 3044 added = set()
3045 for abs in dsadded: 3045 for abs in dsadded:
3046 if repo.dirstate[abs] != 'a': 3046 if repo.dirstate[abs] != 'a':