public inbox for goredo-devel@lists.cypherpunks.ru
Atom feed
From: Andrew Chambers <ac@acha•ninja>
To: goredo-devel@lists.cypherpunks.ru
Cc: Andrew Chambers <ac@acha•ninja>
Subject: [PATCH] Don't create nested target directories automatically
Date: Fri, 15 Apr 2022 12:55:59 +1200 [thread overview]
Message-ID: <20220415005559.3682838-1-ac@acha.ninja> (raw)
If a user mistypes a rule, goredo creates those directories automatically
leaving junk on the filesystem. This change means higher level rules must
create those directories explicitly if needed.
---
run.go | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/run.go b/run.go
index 32e3800..1a657a3 100644
--- a/run.go
+++ b/run.go
@@ -123,13 +123,6 @@ func (e RunError) Error() string {
return fmt.Sprintf("%s: %s", e.Name(), e.Err)
}
-func mkdirs(pth string) error {
- if _, err := os.Stat(pth); err == nil {
- return nil
- }
- return os.MkdirAll(pth, os.FileMode(0777))
-}
-
func isModified(cwd, redoDir, tgt string) (bool, *Inode, string, error) {
fdDep, err := os.Open(path.Join(redoDir, tgt+DepSuffix))
if err != nil {
@@ -190,7 +183,11 @@ func syncDir(dir string) error {
func runScript(tgtOrig string, errs chan error, traced bool) error {
cwd, tgt := cwdAndTgt(tgtOrig)
redoDir := path.Join(cwd, RedoDir)
- if err := mkdirs(redoDir); err != nil {
+
+ if err := os.Mkdir(redoDir, os.FileMode(0777)); err != nil && !os.IsExist(err) {
+ if os.IsNotExist(err) {
+ return TgtError{tgtOrig, fmt.Errorf("target directory does not exist")}
+ }
return TgtError{tgtOrig, err}
}
--
2.33.1
next reply other threads:[~2022-04-15 1:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-15 0:55 Andrew Chambers [this message]
2022-04-15 6:10 ` [PATCH] Don't create nested target directories automatically goredo
2022-04-15 6:49 ` Andrew Chambers
2022-04-15 7:15 ` goredo
2022-04-15 7:31 ` Andrew Chambers
2022-04-15 9:28 ` goredo
2022-04-15 12:00 ` Andrew Chambers
2022-04-15 13:17 ` goredo
2022-04-15 13:39 ` Andrew Chambers
2022-04-15 13:58 ` goredo
2022-04-15 16:23 ` Sergey Matveev
2022-04-16 0:36 ` Andrew Chambers
2022-04-15 16:23 ` Sergey Matveev
2022-04-15 6:57 ` Andrew Chambers
2022-04-15 16:23 ` Sergey Matveev