Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 31258:c414e339e7af
status: handle more node indicators in buildstatus
There are several different node markers that indicate different working copy
states. The context._buildstatus function was only handling one of them, and
this patch makes it handle all of them (falling back to file content comparisons
when in one of these states).
This affects a future patch where we get rid of context._manifestmatches as part
of getting rid of manifest.matches(). context._manifestmatches is currently
hacky in that it uses the newnodeid for all added and modified files, which is
why the current newnodeid check is sufficient. When we get rid of this function
and use the normal manifest.diff function, we start to see the other indicators
in the nodes, so they need to be handled or else the tests fail.
author | Durham Goode <durham@fb.com> |
---|---|
date | Tue, 07 Mar 2017 09:56:11 -0800 |
parents | 0e07855e6054 |
children | 6a9d0d24fdb4 |
comparison
equal
deleted
inserted
replaced
31257:11831d755b51 | 31258:c414e339e7af |
---|---|
21 newnodeid, | 21 newnodeid, |
22 nullid, | 22 nullid, |
23 nullrev, | 23 nullrev, |
24 short, | 24 short, |
25 wdirid, | 25 wdirid, |
26 wdirnodes, | |
26 ) | 27 ) |
27 from . import ( | 28 from . import ( |
28 encoding, | 29 encoding, |
29 error, | 30 error, |
30 fileset, | 31 fileset, |
138 added.append(fn) | 139 added.append(fn) |
139 elif node2 is None: | 140 elif node2 is None: |
140 removed.append(fn) | 141 removed.append(fn) |
141 elif flag1 != flag2: | 142 elif flag1 != flag2: |
142 modified.append(fn) | 143 modified.append(fn) |
143 elif node2 != newnodeid: | 144 elif node2 not in wdirnodes: |
144 # When comparing files between two commits, we save time by | 145 # When comparing files between two commits, we save time by |
145 # not comparing the file contents when the nodeids differ. | 146 # not comparing the file contents when the nodeids differ. |
146 # Note that this means we incorrectly report a reverted change | 147 # Note that this means we incorrectly report a reverted change |
147 # to a file as a modification. | 148 # to a file as a modification. |
148 modified.append(fn) | 149 modified.append(fn) |