X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=run.go;h=ba841522835e50dad65a5523ff5fe6c4d545ad8c;hb=61724b2573b9a0a27fa381c3809ad86ba55acfa7;hp=6366f4a0aad03c79272acf524a0cd8d8972843de;hpb=4dea8061673b04d0225887f1f8d73392823e4e9e;p=goredo.git diff --git a/run.go b/run.go index 6366f4a..ba84152 100644 --- 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 }()