diff --git a/redo/builder.py b/redo/builder.py index c029354..8a16af9 100644 --- a/redo/builder.py +++ b/redo/builder.py @@ -165,11 +165,10 @@ class _BuildJob(object): 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._finalize(0) + # fall through and treat it the same as a static file if (os.path.exists(t) and not os.path.isdir(t + '/.') - and not sf.is_generated): + and (sf.is_override or not sf.is_generated)): # an existing source file that was not generated by us. # This step is mentioned by djb in his notes. # For example, a rule called default.c.do could be used to try diff --git a/t/351-deps-forget/all.do b/t/351-deps-forget/all.do index 7a238ab..49f6883 100644 --- a/t/351-deps-forget/all.do +++ b/t/351-deps-forget/all.do @@ -61,9 +61,9 @@ truth=" src del nil ran ran no 0 1 0 src del add ran ran no 0 1 0 - src add err skip skip no 1 0 0 # source updated - src add nil skip skip no 1 0 0 - src add add skip skip no 1 0 0 + src add err ran skip no 1 0 0 # source updated + src add nil ran skip no 1 0 0 + src add add ran skip no 1 0 0 # File was initially a target that produced nil nil nop err skip ran no 0 0 0 # content forgotten @@ -74,9 +74,9 @@ truth=" nil del nil ran ran no 0 1 0 nil del add ran ran no 0 1 0 - nil add err skip skip warn 1 0 0 # content overridden - nil add nil skip skip warn 1 0 0 - nil add add skip skip warn 1 0 0 + nil add err ran skip warn 1 0 0 # content overridden + nil add nil ran skip warn 1 0 0 + nil add add ran skip warn 1 0 0 # File was initially a target that produced output add nop err skip ran no 0 1 1 # update failed @@ -87,9 +87,9 @@ truth=" add del nil ran ran no 0 1 0 add del add ran ran no 0 1 0 - add add err skip skip warn 1 0 0 # content overridden - add add nil skip skip warn 1 0 0 - add add add skip skip warn 1 0 0 + add add err ran skip warn 1 0 0 # content overridden + add add nil ran skip warn 1 0 0 + add add add ran skip warn 1 0 0 " echo "$truth" | @@ -150,7 +150,7 @@ while read pre update post subran ran warn src targ ood XX; do case $update in nop) ;; del) rm -f bork; skip=1 ;; - add) echo override >>bork ;; + add) echo override >>bork; skip=1 ;; *) exit 91 ;; esac