# HG changeset patch # User Pierre-Yves David # Date 1406922540 25200 # Node ID 8864528874f77272742551223b8265ff4d125534 # Parent 412ac613fd89cbd82fd56f6f08308e5cd95f58d8 status: don't drop unknown and ignored information (issue4321) By the magic of code movement, we ended up dropping unknown and ignored information when comparing the working directory with a non-parent revision. Let's stop doing it and add a test. diff -r 412ac613fd89 -r 8864528874f7 mercurial/context.py --- a/mercurial/context.py Fri Aug 01 13:13:24 2014 -0700 +++ b/mercurial/context.py Fri Aug 01 12:49:00 2014 -0700 @@ -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 -r 412ac613fd89 -r 8864528874f7 tests/test-status.t --- a/tests/test-status.t Fri Aug 01 13:13:24 2014 -0700 +++ b/tests/test-status.t Fri Aug 01 12:49:00 2014 -0700 @@ -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: