]> Cypherpunks.ru repositories - goredo.git/blobdiff - run.go
REDO_STOP_IF_MODIFIED
[goredo.git] / run.go
diff --git a/run.go b/run.go
index 6366f4a0aad03c79272acf524a0cd8d8972843de..ba841522835e50dad65a5523ff5fe6c4d545ad8c 100644 (file)
--- a/run.go
+++ b/run.go
@@ -51,6 +51,7 @@ const (
        EnvStderrKeep   = "REDO_LOGS"
        EnvStderrSilent = "REDO_SILENT"
        EnvNoSync       = "REDO_NO_SYNC"
+       EnvStopIfMod    = "REDO_STOP_IF_MODIFIED"
 
        RedoDir      = ".redo"
        LockSuffix   = ".lock"
@@ -65,6 +66,7 @@ var (
        StderrKeep   = false
        StderrSilent = false
        StderrPrefix string
+       StopIfMod    = false
        Jobs         sync.WaitGroup
 
        flagTrace        *bool
@@ -273,8 +275,11 @@ func runScript(tgtOrig string, errs chan error, traced bool) error {
                return TgtError{tgtOrig, err}
        }
        if modified {
-               tracef(CWarn, "%s externally modified: not redoing", tgtOrig)
                lockRelease()
+               if StopIfMod {
+                       return fmt.Errorf("%s externally modified", tgtOrig)
+               }
+               tracef(CWarn, "%s externally modified: not redoing", tgtOrig)
                go func() {
                        errs <- nil
                }()