Show More
@@ -635,6 +635,18 b' static PyObject *dirstate_item_get_maybe' | |||
|
635 | 635 | } |
|
636 | 636 | }; |
|
637 | 637 | |
|
638 | static PyObject *dirstate_item_get_any_tracked(dirstateItemObject *self) | |
|
639 | { | |
|
640 | unsigned char mask = dirstate_flag_wc_tracked | | |
|
641 | dirstate_flag_p1_tracked | | |
|
642 | dirstate_flag_p2_tracked; | |
|
643 | if ((self->flags & mask) != 0) { | |
|
644 | Py_RETURN_TRUE; | |
|
645 | } else { | |
|
646 | Py_RETURN_FALSE; | |
|
647 | } | |
|
648 | }; | |
|
649 | ||
|
638 | 650 | static PyObject *dirstate_item_get_removed(dirstateItemObject *self) |
|
639 | 651 | { |
|
640 | 652 | if (dirstate_item_c_removed(self)) { |
@@ -655,6 +667,8 b' static PyGetSetDef dirstate_item_getset[' | |||
|
655 | 667 | {"from_p2", (getter)dirstate_item_get_from_p2, NULL, "from_p2", NULL}, |
|
656 | 668 | {"maybe_clean", (getter)dirstate_item_get_maybe_clean, NULL, "maybe_clean", |
|
657 | 669 | NULL}, |
|
670 | {"any_tracked", (getter)dirstate_item_get_any_tracked, NULL, "any_tracked", | |
|
671 | NULL}, | |
|
658 | 672 | {"removed", (getter)dirstate_item_get_removed, NULL, "removed", NULL}, |
|
659 | 673 | {NULL} /* Sentinel */ |
|
660 | 674 | }; |
@@ -314,6 +314,11 b' class DirstateItem(object):' | |||
|
314 | 314 | return self._wc_tracked |
|
315 | 315 | |
|
316 | 316 | @property |
|
317 | def any_tracked(self): | |
|
318 | """True is the file is tracked anywhere (wc or parents)""" | |
|
319 | return self._wc_tracked or self._p1_tracked or self._p2_tracked | |
|
320 | ||
|
321 | @property | |
|
317 | 322 | def added(self): |
|
318 | 323 | """True if the file has been added""" |
|
319 | 324 | return self._wc_tracked and not (self._p1_tracked or self._p2_tracked) |
@@ -205,6 +205,12 b' impl DirstateEntry {' | |||
|
205 | 205 | } |
|
206 | 206 | } |
|
207 | 207 | |
|
208 | pub fn any_tracked(&self) -> bool { | |
|
209 | self.flags.intersects( | |
|
210 | Flags::WDIR_TRACKED | Flags::P1_TRACKED | Flags::P2_TRACKED, | |
|
211 | ) | |
|
212 | } | |
|
213 | ||
|
208 | 214 | pub fn state(&self) -> EntryState { |
|
209 | 215 | if self.removed() { |
|
210 | 216 | EntryState::Removed |
@@ -90,6 +90,11 b' py_class!(pub class DirstateItem |py| {' | |||
|
90 | 90 | Ok(self.entry(py).get().maybe_clean()) |
|
91 | 91 | } |
|
92 | 92 | |
|
93 | @property | |
|
94 | def any_tracked(&self) -> PyResult<bool> { | |
|
95 | Ok(self.entry(py).get().any_tracked()) | |
|
96 | } | |
|
97 | ||
|
93 | 98 | def v1_state(&self) -> PyResult<PyBytes> { |
|
94 | 99 | let (state, _mode, _size, _mtime) = self.entry(py).get().v1_data(); |
|
95 | 100 | let state_byte: u8 = state.into(); |
General Comments 0
You need to be logged in to leave comments.
Login now