If the created target is a directory, it's okay for the .do to create it.
Normally, creating the target $1 yourself is bad; create $3 instead. But if $1 is a directory, we'll allow it. That way 'redo subdir' can call subdir.do, and subdir.do can both create the directory *and* run a bunch of sub-.do files on it.
This commit is contained in:
parent
83dd52c209
commit
282bb0488e
4 changed files with 6 additions and 4 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import sys, os, random, errno
|
||||
import sys, os, random, errno, stat
|
||||
import vars, jwack, state
|
||||
from helpers import log, log_, debug2, err, unlink, close_on_exec
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ class BuildJob:
|
|||
before_tmp = os.fstat(f.fileno())
|
||||
after_tmp = _try_stat(tmpname)
|
||||
after_where = os.lseek(f.fileno(), 0, os.SEEK_CUR)
|
||||
if after_t != before_t:
|
||||
if after_t != before_t and not stat.S_ISDIR(after_t.st_mode):
|
||||
err('%r modified %r directly!\n' % (self.argv[2], t))
|
||||
err('...you should update $3 (a temp file) instead of $1.\n')
|
||||
rv = 206
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue