diff --git a/mercurial/cext/parsers.c b/mercurial/cext/parsers.c --- a/mercurial/cext/parsers.c +++ b/mercurial/cext/parsers.c @@ -179,6 +179,11 @@ return PyInt_FromLong(self->size); }; +static PyObject *dirstatetuple_get_mtime(dirstateTupleObject *self) +{ + return PyInt_FromLong(self->mtime); +}; + static PyObject *dirstatetuple_get_state(dirstateTupleObject *self) { return PyBytes_FromStringAndSize(&self->state, 1); @@ -250,6 +255,7 @@ static PyGetSetDef dirstatetuple_getset[] = { {"mode", (getter)dirstatetuple_get_mode, NULL, "mode", NULL}, {"size", (getter)dirstatetuple_get_size, NULL, "size", NULL}, + {"mtime", (getter)dirstatetuple_get_mtime, NULL, "mtime", NULL}, {"state", (getter)dirstatetuple_get_state, NULL, "state", NULL}, {"tracked", (getter)dirstatetuple_get_tracked, NULL, "tracked", NULL}, {"added", (getter)dirstatetuple_get_added, NULL, "added", NULL}, diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -1309,7 +1309,7 @@ t = dget(fn) mode = t.mode size = t.size - time = t[3] + time = t.mtime if not st and t.tracked: dadd(fn) diff --git a/mercurial/pure/parsers.py b/mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py +++ b/mercurial/pure/parsers.py @@ -80,6 +80,10 @@ return self._size @property + def mtime(self): + return self._mtime + + @property def state(self): """ States are: