Show More
@@ -152,24 +152,80 b' static void dirstate_item_dealloc(PyObje' | |||||
152 | PyObject_Del(o); |
|
152 | PyObject_Del(o); | |
153 | } |
|
153 | } | |
154 |
|
154 | |||
|
155 | static inline bool dirstate_item_c_tracked(dirstateItemObject *self) | |||
|
156 | { | |||
|
157 | return (self->state == 'a' || self->state == 'm' || self->state == 'n'); | |||
|
158 | } | |||
|
159 | ||||
|
160 | static inline bool dirstate_item_c_added(dirstateItemObject *self) | |||
|
161 | { | |||
|
162 | return (self->state == 'a'); | |||
|
163 | } | |||
|
164 | ||||
|
165 | static inline bool dirstate_item_c_removed(dirstateItemObject *self) | |||
|
166 | { | |||
|
167 | return (self->state == 'r'); | |||
|
168 | } | |||
|
169 | ||||
|
170 | static inline bool dirstate_item_c_merged(dirstateItemObject *self) | |||
|
171 | { | |||
|
172 | return (self->state == 'm'); | |||
|
173 | } | |||
|
174 | ||||
|
175 | static inline bool dirstate_item_c_merged_removed(dirstateItemObject *self) | |||
|
176 | { | |||
|
177 | return (self->state == 'r' && self->size == dirstate_v1_nonnormal); | |||
|
178 | } | |||
|
179 | ||||
|
180 | static inline bool dirstate_item_c_from_p2(dirstateItemObject *self) | |||
|
181 | { | |||
|
182 | return (self->state == 'n' && self->size == dirstate_v1_from_p2); | |||
|
183 | } | |||
|
184 | ||||
|
185 | static inline bool dirstate_item_c_from_p2_removed(dirstateItemObject *self) | |||
|
186 | { | |||
|
187 | return (self->state == 'r' && self->size == dirstate_v1_from_p2); | |||
|
188 | } | |||
|
189 | ||||
|
190 | static inline char dirstate_item_c_v1_state(dirstateItemObject *self) | |||
|
191 | { | |||
|
192 | return self->state; | |||
|
193 | } | |||
|
194 | ||||
|
195 | static inline int dirstate_item_c_v1_mode(dirstateItemObject *self) | |||
|
196 | { | |||
|
197 | return self->mode; | |||
|
198 | } | |||
|
199 | ||||
|
200 | static inline int dirstate_item_c_v1_size(dirstateItemObject *self) | |||
|
201 | { | |||
|
202 | return self->size; | |||
|
203 | } | |||
|
204 | ||||
|
205 | static inline int dirstate_item_c_v1_mtime(dirstateItemObject *self) | |||
|
206 | { | |||
|
207 | return self->mtime; | |||
|
208 | } | |||
|
209 | ||||
155 | static PyObject *dirstate_item_v1_state(dirstateItemObject *self) |
|
210 | static PyObject *dirstate_item_v1_state(dirstateItemObject *self) | |
156 | { |
|
211 | { | |
157 | return PyBytes_FromStringAndSize(&self->state, 1); |
|
212 | char state = dirstate_item_c_v1_state(self); | |
|
213 | return PyBytes_FromStringAndSize(&state, 1); | |||
158 | }; |
|
214 | }; | |
159 |
|
215 | |||
160 | static PyObject *dirstate_item_v1_mode(dirstateItemObject *self) |
|
216 | static PyObject *dirstate_item_v1_mode(dirstateItemObject *self) | |
161 | { |
|
217 | { | |
162 |
return PyInt_FromLong(self |
|
218 | return PyInt_FromLong(dirstate_item_c_v1_mode(self)); | |
163 | }; |
|
219 | }; | |
164 |
|
220 | |||
165 | static PyObject *dirstate_item_v1_size(dirstateItemObject *self) |
|
221 | static PyObject *dirstate_item_v1_size(dirstateItemObject *self) | |
166 | { |
|
222 | { | |
167 |
return PyInt_FromLong(self |
|
223 | return PyInt_FromLong(dirstate_item_c_v1_size(self)); | |
168 | }; |
|
224 | }; | |
169 |
|
225 | |||
170 | static PyObject *dirstate_item_v1_mtime(dirstateItemObject *self) |
|
226 | static PyObject *dirstate_item_v1_mtime(dirstateItemObject *self) | |
171 | { |
|
227 | { | |
172 |
return PyInt_FromLong(self |
|
228 | return PyInt_FromLong(dirstate_item_c_v1_mtime(self)); | |
173 | }; |
|
229 | }; | |
174 |
|
230 | |||
175 | static PyObject *dirstate_item_need_delay(dirstateItemObject *self, |
|
231 | static PyObject *dirstate_item_need_delay(dirstateItemObject *self, | |
@@ -179,7 +235,8 b' static PyObject *dirstate_item_need_dela' | |||||
179 | if (!pylong_to_long(value, &now)) { |
|
235 | if (!pylong_to_long(value, &now)) { | |
180 | return NULL; |
|
236 | return NULL; | |
181 | } |
|
237 | } | |
182 | if (self->state == 'n' && self->mtime == now) { |
|
238 | if (dirstate_item_c_v1_state(self) == 'n' && | |
|
239 | dirstate_item_c_v1_mtime(self) == now) { | |||
183 | Py_RETURN_TRUE; |
|
240 | Py_RETURN_TRUE; | |
184 | } else { |
|
241 | } else { | |
185 | Py_RETURN_FALSE; |
|
242 | Py_RETURN_FALSE; | |
@@ -373,27 +430,28 b' static PyMethodDef dirstate_item_methods' | |||||
373 |
|
430 | |||
374 | static PyObject *dirstate_item_get_mode(dirstateItemObject *self) |
|
431 | static PyObject *dirstate_item_get_mode(dirstateItemObject *self) | |
375 | { |
|
432 | { | |
376 |
return PyInt_FromLong(self |
|
433 | return PyInt_FromLong(dirstate_item_c_v1_mode(self)); | |
377 | }; |
|
434 | }; | |
378 |
|
435 | |||
379 | static PyObject *dirstate_item_get_size(dirstateItemObject *self) |
|
436 | static PyObject *dirstate_item_get_size(dirstateItemObject *self) | |
380 | { |
|
437 | { | |
381 |
return PyInt_FromLong(self |
|
438 | return PyInt_FromLong(dirstate_item_c_v1_size(self)); | |
382 | }; |
|
439 | }; | |
383 |
|
440 | |||
384 | static PyObject *dirstate_item_get_mtime(dirstateItemObject *self) |
|
441 | static PyObject *dirstate_item_get_mtime(dirstateItemObject *self) | |
385 | { |
|
442 | { | |
386 |
return PyInt_FromLong(self |
|
443 | return PyInt_FromLong(dirstate_item_c_v1_mtime(self)); | |
387 | }; |
|
444 | }; | |
388 |
|
445 | |||
389 | static PyObject *dirstate_item_get_state(dirstateItemObject *self) |
|
446 | static PyObject *dirstate_item_get_state(dirstateItemObject *self) | |
390 | { |
|
447 | { | |
391 | return PyBytes_FromStringAndSize(&self->state, 1); |
|
448 | char state = dirstate_item_c_v1_state(self); | |
|
449 | return PyBytes_FromStringAndSize(&state, 1); | |||
392 | }; |
|
450 | }; | |
393 |
|
451 | |||
394 | static PyObject *dirstate_item_get_tracked(dirstateItemObject *self) |
|
452 | static PyObject *dirstate_item_get_tracked(dirstateItemObject *self) | |
395 | { |
|
453 | { | |
396 | if (self->state == 'a' || self->state == 'm' || self->state == 'n') { |
|
454 | if (dirstate_item_c_tracked(self)) { | |
397 | Py_RETURN_TRUE; |
|
455 | Py_RETURN_TRUE; | |
398 | } else { |
|
456 | } else { | |
399 | Py_RETURN_FALSE; |
|
457 | Py_RETURN_FALSE; | |
@@ -402,7 +460,7 b' static PyObject *dirstate_item_get_track' | |||||
402 |
|
460 | |||
403 | static PyObject *dirstate_item_get_added(dirstateItemObject *self) |
|
461 | static PyObject *dirstate_item_get_added(dirstateItemObject *self) | |
404 | { |
|
462 | { | |
405 | if (self->state == 'a') { |
|
463 | if (dirstate_item_c_added(self)) { | |
406 | Py_RETURN_TRUE; |
|
464 | Py_RETURN_TRUE; | |
407 | } else { |
|
465 | } else { | |
408 | Py_RETURN_FALSE; |
|
466 | Py_RETURN_FALSE; | |
@@ -411,7 +469,7 b' static PyObject *dirstate_item_get_added' | |||||
411 |
|
469 | |||
412 | static PyObject *dirstate_item_get_merged(dirstateItemObject *self) |
|
470 | static PyObject *dirstate_item_get_merged(dirstateItemObject *self) | |
413 | { |
|
471 | { | |
414 | if (self->state == 'm') { |
|
472 | if (dirstate_item_c_merged(self)) { | |
415 | Py_RETURN_TRUE; |
|
473 | Py_RETURN_TRUE; | |
416 | } else { |
|
474 | } else { | |
417 | Py_RETURN_FALSE; |
|
475 | Py_RETURN_FALSE; | |
@@ -420,7 +478,7 b' static PyObject *dirstate_item_get_merge' | |||||
420 |
|
478 | |||
421 | static PyObject *dirstate_item_get_merged_removed(dirstateItemObject *self) |
|
479 | static PyObject *dirstate_item_get_merged_removed(dirstateItemObject *self) | |
422 | { |
|
480 | { | |
423 | if (self->state == 'r' && self->size == dirstate_v1_nonnormal) { |
|
481 | if (dirstate_item_c_merged_removed(self)) { | |
424 | Py_RETURN_TRUE; |
|
482 | Py_RETURN_TRUE; | |
425 | } else { |
|
483 | } else { | |
426 | Py_RETURN_FALSE; |
|
484 | Py_RETURN_FALSE; | |
@@ -429,7 +487,7 b' static PyObject *dirstate_item_get_merge' | |||||
429 |
|
487 | |||
430 | static PyObject *dirstate_item_get_from_p2(dirstateItemObject *self) |
|
488 | static PyObject *dirstate_item_get_from_p2(dirstateItemObject *self) | |
431 | { |
|
489 | { | |
432 | if (self->state == 'n' && self->size == dirstate_v1_from_p2) { |
|
490 | if (dirstate_item_c_from_p2(self)) { | |
433 | Py_RETURN_TRUE; |
|
491 | Py_RETURN_TRUE; | |
434 | } else { |
|
492 | } else { | |
435 | Py_RETURN_FALSE; |
|
493 | Py_RETURN_FALSE; | |
@@ -438,7 +496,7 b' static PyObject *dirstate_item_get_from_' | |||||
438 |
|
496 | |||
439 | static PyObject *dirstate_item_get_from_p2_removed(dirstateItemObject *self) |
|
497 | static PyObject *dirstate_item_get_from_p2_removed(dirstateItemObject *self) | |
440 | { |
|
498 | { | |
441 | if (self->state == 'r' && self->size == dirstate_v1_from_p2) { |
|
499 | if (dirstate_item_c_from_p2_removed(self)) { | |
442 | Py_RETURN_TRUE; |
|
500 | Py_RETURN_TRUE; | |
443 | } else { |
|
501 | } else { | |
444 | Py_RETURN_FALSE; |
|
502 | Py_RETURN_FALSE; | |
@@ -447,7 +505,7 b' static PyObject *dirstate_item_get_from_' | |||||
447 |
|
505 | |||
448 | static PyObject *dirstate_item_get_removed(dirstateItemObject *self) |
|
506 | static PyObject *dirstate_item_get_removed(dirstateItemObject *self) | |
449 | { |
|
507 | { | |
450 | if (self->state == 'r') { |
|
508 | if (dirstate_item_c_removed(self)) { | |
451 | Py_RETURN_TRUE; |
|
509 | Py_RETURN_TRUE; | |
452 | } else { |
|
510 | } else { | |
453 | Py_RETURN_FALSE; |
|
511 | Py_RETURN_FALSE; | |
@@ -456,7 +514,8 b' static PyObject *dirstate_item_get_remov' | |||||
456 |
|
514 | |||
457 | static PyObject *dm_nonnormal(dirstateItemObject *self) |
|
515 | static PyObject *dm_nonnormal(dirstateItemObject *self) | |
458 | { |
|
516 | { | |
459 | if (self->state != 'n' || self->mtime == ambiguous_time) { |
|
517 | if ((dirstate_item_c_v1_state(self) != 'n') || | |
|
518 | (dirstate_item_c_v1_mtime(self) == ambiguous_time)) { | |||
460 | Py_RETURN_TRUE; |
|
519 | Py_RETURN_TRUE; | |
461 | } else { |
|
520 | } else { | |
462 | Py_RETURN_FALSE; |
|
521 | Py_RETURN_FALSE; | |
@@ -464,7 +523,7 b' static PyObject *dm_nonnormal(dirstateIt' | |||||
464 | }; |
|
523 | }; | |
465 | static PyObject *dm_otherparent(dirstateItemObject *self) |
|
524 | static PyObject *dm_otherparent(dirstateItemObject *self) | |
466 | { |
|
525 | { | |
467 |
if (self |
|
526 | if (dirstate_item_c_v1_mtime(self) == dirstate_v1_from_p2) { | |
468 | Py_RETURN_TRUE; |
|
527 | Py_RETURN_TRUE; | |
469 | } else { |
|
528 | } else { | |
470 | Py_RETURN_FALSE; |
|
529 | Py_RETURN_FALSE; |
General Comments 0
You need to be logged in to leave comments.
Login now