diff --git a/mercurial/context.py b/mercurial/context.py index 412ac613fd89cbd82fd56f6f08308e5cd95f58d8_bWVyY3VyaWFsL2NvbnRleHQucHk=..8864528874f77272742551223b8265ff4d125534_bWVyY3VyaWFsL2NvbnRleHQucHk= 100644 --- a/mercurial/context.py +++ b/mercurial/context.py @@ -120,7 +120,7 @@ mf2 = self._manifestmatches(match, s) modified, added, clean = [], [], [] - deleted, unknown, ignored = s[3], [], [] + deleted, unknown, ignored = s[3], s[4], s[5] withflags = mf1.withflags() | mf2.withflags() for fn, mf2node in mf2.iteritems(): if fn in mf1: diff --git a/tests/test-status.t b/tests/test-status.t index 412ac613fd89cbd82fd56f6f08308e5cd95f58d8_dGVzdHMvdGVzdC1zdGF0dXMudA==..8864528874f77272742551223b8265ff4d125534_dGVzdHMvdGVzdC1zdGF0dXMudA== 100644 --- a/tests/test-status.t +++ b/tests/test-status.t @@ -280,6 +280,12 @@ R removed C deleted +status against non-parent with unknown file (issue4321) + + $ touch unknown + $ hg status --rev 0 unknown + ? unknown + status of removed but existing in working directory. "? removed" should not be included: