X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=run.go;h=ca8eebbcd9ca542dd7c9f31e77dfaca18eb4b7de;hb=3d2efdb8e781a148ab3633405534534dfd8c7545;hp=196e6a9e1f0cde18dec8a14f79390ded62258517;hpb=814397b687d7890d6b6e8d0f22a7c9f5b74b11c8;p=goredo.git diff --git a/run.go b/run.go index 196e6a9..ca8eebb 100644 --- a/run.go +++ b/run.go @@ -52,11 +52,12 @@ const ( EnvStderrSilent = "REDO_SILENT" EnvNoSync = "REDO_NO_SYNC" - RedoDir = ".redo" - LockSuffix = ".lock" - DepSuffix = ".rec" - TmpPrefix = ".redo." - LogSuffix = ".log" + RedoDir = ".redo" + LockSuffix = ".lock" + DepSuffix = ".rec" + TmpPrefix = ".redo." + LogSuffix = ".log" + LogRecSuffix = ".log-rec" ) var ( @@ -384,14 +385,13 @@ func runScript(tgtOrig string, errs chan error, traced bool) error { if StderrKeep { fdStderr, err = os.OpenFile( path.Join(redoDir, tgt+LogSuffix), - os.O_WRONLY|os.O_CREATE, + os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.FileMode(0666), ) if err != nil { cleanup() return TgtErr{tgtOrig, err} } - fdStderr.Truncate(0) } shCtx := fmt.Sprintf( "sh: %s: %s %s cwd:%s dirprefix:%s", @@ -448,13 +448,12 @@ func runScript(tgtOrig string, errs chan error, traced bool) error { fdStdout.Close() if fdStderr != nil { fdStderr.Close() - logRecPath := path.Join(redoDir, tgt+LogSuffix+DepSuffix) + logRecPath := path.Join(redoDir, tgt+LogRecSuffix) if fdStderr, err = os.OpenFile( logRecPath, - os.O_WRONLY|os.O_CREATE, + os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.FileMode(0666), ); err == nil { - fdStderr.Truncate(0) fields := []recfile.Field{ {Name: "Build", Value: BuildUUID}, {Name: "PID", Value: strconv.Itoa(cmd.Process.Pid)},