Re: rcs-5.9.4: t810 test failed
Thien-Thi Nguyen <[email protected]> Fri, 27 Oct 2017 21:07:46 +0200
| Newsgroups | gmane.comp.version-control.rcs.bugs |
|---|---|
| Message-ID | <[email protected]> |
--=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable () Xose Vazquez Perez <[email protected]> () Thu, 26 Oct 2017 19:26:45 +0200 $ stat x Modify: 2017-10-26 19:18:31.309078104 +0200 $ stat x,v Modify: 2017-10-26 19:18:31.000000000 +0200 Cool, this is a big clue. Seeing this, i now feel i can trust /bin/sh =E2=80=98test -nt=E2=80=99 on your system to DTRT (i.e., the failur= e of t810 is meaningful). (On the flip side, sending a tarball of the failing tNNN.d loses a bit of its allure as a first step collaborative debug strategy, so it goes...) The correct outcome should be that x,v mtime explicitly mirrors x mtime (i.e., ...:31.309078104). The current implementation uses =E2=80=98utime=E2=80=99 (in rcsedit.c, func =E2=80=98setmtime=E2=80=99= ) to do this job. This works on filesystems lacking sub-second resolution support, but that's no longer sufficient these days, apparently. I see from utime(2) on my system: POSIX.1-2008 marks utime() as obsolete. Seems like a good hint as well, pointing us to =E2=80=98utimensat=E2=80=99 = as a replacement (specified in POSIX.1-2008) that supports =E2=80=98struct timespec=E2=80=99 for full nanosecond resolution. On the input side (finding the x mtime), we'll use gnulib module =E2=80=98stat-time=E2=80=99 to tame the =E2=80=98struct stat=E2=80=99 zoo. = Finally, an excuse to rename var =E2=80=98newRCStime=E2=80=99 to something less ugly -- bwahah= ahah! =2D-=20 Thien-Thi Nguyen ----------------------------------------------- (defun responsep (query) (pcase (context query) (`(technical ,ml) (correctp ml)) ...)) 748E A0E8 1CB8 A748 9BFA =2D-------------------------------------- 6CE4 6703 2224 4C80 7502 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlnzhAUACgkQZwMiJEyAdQI0JgCglHtnIshxeciekxenwBbeK54i uGgAn3roRk2I/17DT09DOHF3I/PIukkQ =xOZY -----END PGP SIGNATURE----- --=-=-=--