parser: use PyInt_FromSsize_t in index_stats
Eliminates
mercurial/parsers.c(515) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'long', possible loss of data
mercurial/parsers.c(520) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'long', possible loss of data
mercurial/parsers.c(521) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'long', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
PyInt_FromSsize_t does not exist for Python 2.4 and earlier, so we define a
fallback in util.h to use PyInt_FromLong when compiling for Python 2.4.
------ Test dirstate._dirs refcounting
$ hg init t
$ cd t
$ mkdir -p a/b/c/d
$ touch a/b/c/d/x
$ touch a/b/c/d/y
$ touch a/b/c/d/z
$ hg ci -Am m
adding a/b/c/d/x
adding a/b/c/d/y
adding a/b/c/d/z
$ hg mv a z
moving a/b/c/d/x to z/b/c/d/x (glob)
moving a/b/c/d/y to z/b/c/d/y (glob)
moving a/b/c/d/z to z/b/c/d/z (glob)
$ cd ..
Issue1790: dirstate entry locked into unset if file mtime is set into
the future
Prepare test repo:
$ hg init u
$ cd u
$ echo a > a
$ hg add
adding a
$ hg ci -m1
Set mtime of a into the future:
$ touch -t 202101011200 a
Status must not set a's entry to unset (issue1790):
$ hg status
$ hg debugstate
n 644 2 2021-01-01 12:00:00 a
$ cd ..