CleanupFull = "full"
CleanupLog = "log"
CleanupTmp = "tmp"
+ CleanupLock = "lock"
)
var DryRun *bool
}
}
}
+ case CleanupLock:
+ if strings.HasSuffix(fi.Name(), LockSuffix) {
+ fmt.Println(pth)
+ if !*DryRun {
+ if err = os.Remove(pth); err != nil {
+ return err
+ }
+ }
+ }
case CleanupTmp:
if strings.HasPrefix(fi.Name(), TmpPrefix) {
fmt.Println(pth)
@cindex news
@unnumbered News
+@anchor{Release 1_28_0}
+@section Release 1.28.0
+@itemize
+@item
+ Do not remove @file{.lock} files, that leads to possible races
+ between running targets. Although @command{nncp-cleanup lock}
+ can be used to cleanup.
+@end itemize
+
@anchor{Release 1_27_1}
@section Release 1.27.1
@itemize
os.Remove(fdDep.Name())
os.Remove(fdStdout.Name())
os.Remove(tmpPath)
- os.Remove(fdLock.Name())
if FdStatus != nil {
if _, err = FdStatus.Write([]byte{StatusDone}); err != nil {
log.Fatalln(err)
)
const (
- Version = "1.27.1"
+ Version = "1.28.0"
Warranty = `Copyright (C) 2020-2022 Sergey Matveev
This program is free software: you can redistribute it and/or modify
Always build current target. Unusable outside .do.`
case CmdNameRedoCleanup:
- d = `Usage: redo-cleanup [-n] {full,log,tmp} [...]
+ d = `Usage: redo-cleanup [-n] {full,log,lock,tmp} [...]
-Remove either all goredo's related temporary files, or kept stderr
-logs, or everything (including .redo directories) related.`
+Remove either all of goredo's related temporary files, or kept stderr
+logs, or lock files, or everything (including .redo directories) related.`
case CmdNameRedoLog:
d = `Usage: redo-log [-c] [-r] target [ | tai64nlocal ]