# HG changeset patch # User Pierre-Yves David # Date 1625355883 -7200 # Node ID 8bcae9bf9e8d2429d772102f21f6e743340f46e1 # Parent fe4641cf9b72be502d45b11ceeb5a8852ed55995 dirstate-entry: add a `added` property Lets use more semantic property instead of the `state` implementation details. Differential Revision: https://phab.mercurial-scm.org/D10968 diff -r fe4641cf9b72 -r 8bcae9bf9e8d mercurial/cext/parsers.c --- a/mercurial/cext/parsers.c Sun Jul 04 01:42:10 2021 +0200 +++ b/mercurial/cext/parsers.c Sun Jul 04 01:44:43 2021 +0200 @@ -158,6 +158,15 @@ return PyBytes_FromStringAndSize(&self->state, 1); }; +static PyObject *dirstatetuple_get_added(dirstateTupleObject *self) +{ + if (self->state == 'a') { + Py_RETURN_TRUE; + } else { + Py_RETURN_FALSE; + } +}; + static PyObject *dirstatetuple_get_merged(dirstateTupleObject *self) { if (self->state == 'm') { @@ -205,6 +214,7 @@ static PyGetSetDef dirstatetuple_getset[] = { {"state", (getter)dirstatetuple_get_state, NULL, "state", NULL}, + {"added", (getter)dirstatetuple_get_added, NULL, "added", NULL}, {"merged_removed", (getter)dirstatetuple_get_merged_removed, NULL, "merged_removed", NULL}, {"merged", (getter)dirstatetuple_get_merged, NULL, "merged", NULL}, diff -r fe4641cf9b72 -r 8bcae9bf9e8d mercurial/dirstate.py --- a/mercurial/dirstate.py Sun Jul 04 01:42:10 2021 +0200 +++ b/mercurial/dirstate.py Sun Jul 04 01:44:43 2021 +0200 @@ -1346,7 +1346,7 @@ cadd(fn) elif t.merged: madd(fn) - elif state == b'a': + elif t.added: aadd(fn) elif t.removed: radd(fn) diff -r fe4641cf9b72 -r 8bcae9bf9e8d mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py Sun Jul 04 01:42:10 2021 +0200 +++ b/mercurial/pure/parsers.py Sun Jul 04 01:44:43 2021 +0200 @@ -87,6 +87,11 @@ return self._state @property + def added(self): + """True if the file has been added""" + return self._state == b'a' + + @property def merged(self): """True if the file has been merged