--- a/mercurial/scmutil.py Mon Nov 10 14:51:18 2014 -0800
+++ b/mercurial/scmutil.py Sat Nov 08 23:13:39 2014 -0800
@@ -686,9 +686,9 @@
rejected = []
m.bad = lambda x, y: rejected.append(x)
- added, unknown, deleted, removed = _interestingfiles(repo, m)
+ added, unknown, deleted, removed, forgotten = _interestingfiles(repo, m)
- unknownset = set(unknown)
+ unknownset = set(unknown + forgotten)
toprint = unknownset.copy()
toprint.update(deleted)
for abs in sorted(toprint):
@@ -704,7 +704,7 @@
similarity)
if not dry_run:
- _markchanges(repo, unknown, deleted, renames)
+ _markchanges(repo, unknown + forgotten, deleted, renames)
for f in rejected:
if f in m.files():
@@ -718,10 +718,10 @@
rejected = []
m.bad = lambda x, y: rejected.append(x)
- added, unknown, deleted, removed = _interestingfiles(repo, m)
+ added, unknown, deleted, removed, forgotten = _interestingfiles(repo, m)
if repo.ui.verbose:
- unknownset = set(unknown)
+ unknownset = set(unknown + forgotten)
toprint = unknownset.copy()
toprint.update(deleted)
for abs in sorted(toprint):
@@ -734,7 +734,7 @@
renames = _findrenames(repo, m, added + unknown, removed + deleted,
similarity)
- _markchanges(repo, unknown, deleted, renames)
+ _markchanges(repo, unknown + forgotten, deleted, renames)
for f in rejected:
if f in m.files():
@@ -747,7 +747,7 @@
This is different from dirstate.status because it doesn't care about
whether files are modified or clean.'''
- added, unknown, deleted, removed = [], [], [], []
+ added, unknown, deleted, removed, forgotten = [], [], [], [], []
audit_path = pathutil.pathauditor(repo.root)
ctx = repo[None]
@@ -760,13 +760,15 @@
unknown.append(abs)
elif dstate != 'r' and not st:
deleted.append(abs)
+ elif dstate == 'r' and st:
+ forgotten.append(abs)
# for finding renames
- elif dstate == 'r':
+ elif dstate == 'r' and not st:
removed.append(abs)
elif dstate == 'a':
added.append(abs)
- return added, unknown, deleted, removed
+ return added, unknown, deleted, removed, forgotten
def _findrenames(repo, matcher, added, removed, similarity):
'''Find renames from removed files to added ones.'''