Show More
@@ -127,8 +127,7 b' class dirstate(object):' | |||||
127 |
|
127 | |||
128 | @propertycache |
|
128 | @propertycache | |
129 | def _map(self): |
|
129 | def _map(self): | |
130 | '''Return the dirstate contents as a map from filename to |
|
130 | """Return the dirstate contents (see documentation for dirstatemap).""" | |
131 | (state, mode, size, time).''' |
|
|||
132 | self._map = dirstatemap(self._ui, self._opener, self._root) |
|
131 | self._map = dirstatemap(self._ui, self._opener, self._root) | |
133 | return self._map |
|
132 | return self._map | |
134 |
|
133 | |||
@@ -1196,6 +1195,44 b' class dirstate(object):' | |||||
1196 | self._opener.unlink(backupname) |
|
1195 | self._opener.unlink(backupname) | |
1197 |
|
1196 | |||
1198 | class dirstatemap(object): |
|
1197 | class dirstatemap(object): | |
|
1198 | """Map encapsulating the dirstate's contents. | |||
|
1199 | ||||
|
1200 | The dirstate contains the following state: | |||
|
1201 | ||||
|
1202 | - `identity` is the identity of the dirstate file, which can be used to | |||
|
1203 | detect when changes have occurred to the dirstate file. | |||
|
1204 | ||||
|
1205 | - `parents` is a pair containing the parents of the working copy. The | |||
|
1206 | parents are updated by calling `setparents`. | |||
|
1207 | ||||
|
1208 | - the state map maps filenames to tuples of (state, mode, size, mtime), | |||
|
1209 | where state is a single character representing 'normal', 'added', | |||
|
1210 | 'removed', or 'merged'. It is accessed by treating the dirstate as a | |||
|
1211 | dict. | |||
|
1212 | ||||
|
1213 | - `copymap` maps destination filenames to their source filename. | |||
|
1214 | ||||
|
1215 | The dirstate also provides the following views onto the state: | |||
|
1216 | ||||
|
1217 | - `nonnormalset` is a set of the filenames that have state other | |||
|
1218 | than 'normal', or are normal but have an mtime of -1 ('normallookup'). | |||
|
1219 | ||||
|
1220 | - `otherparentset` is a set of the filenames that are marked as coming | |||
|
1221 | from the second parent when the dirstate is currently being merged. | |||
|
1222 | ||||
|
1223 | - `dirs` is a set-like object containing all the directories that contain | |||
|
1224 | files in the dirstate, excluding any files that are marked as removed. | |||
|
1225 | ||||
|
1226 | - `filefoldmap` is a dict mapping normalized filenames to the denormalized | |||
|
1227 | form that they appear as in the dirstate. | |||
|
1228 | ||||
|
1229 | - `dirfoldmap` is a dict mapping normalized directory names to the | |||
|
1230 | denormalized form that they appear as in the dirstate. | |||
|
1231 | ||||
|
1232 | Once instantiated, the nonnormalset, otherparentset, dirs, filefoldmap and | |||
|
1233 | dirfoldmap views must be maintained by the caller. | |||
|
1234 | """ | |||
|
1235 | ||||
1199 | def __init__(self, ui, opener, root): |
|
1236 | def __init__(self, ui, opener, root): | |
1200 | self._ui = ui |
|
1237 | self._ui = ui | |
1201 | self._opener = opener |
|
1238 | self._opener = opener |
General Comments 0
You need to be logged in to leave comments.
Login now