From d8811601f1e9f549cfc896fa2b0371312a40a325 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Fri, 12 Oct 2018 05:01:07 -0400 Subject: [PATCH] Better logging for 'manual override' detection. The first time we notice a file has been overridden, log the old and new stamp data, which might give a hint about how this happened. Currently if I do rm t/950-curse/countall while :; do redo -j10 t/950-curse/all --shuffle || break; done it will end up complaining that countall has been overridden within just a few runs, even though it definitely hasn't been. There seems to be someone reading a file stamp while someone else is redoing the file, but I haven't found it yet. --- builder.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/builder.py b/builder.py index f4bf00b..5bc1619 100644 --- a/builder.py +++ b/builder.py @@ -107,7 +107,10 @@ class BuildJob: newstamp != state.STAMP_MISSING and (sf.stamp != newstamp or sf.is_override)): state.warn_override(_nice(t)) - sf.set_override() + if not sf.is_override: + warn('%s - old: %r\n' % (_nice(t), sf.stamp)) + warn('%s - new: %r\n' % (_nice(t), newstamp)) + sf.set_override() sf.set_checked() sf.save() return self._after2(0)