-/*
-goredo -- djb's redo implementation on pure Go
-Copyright (C) 2020-2022 Sergey Matveev <stargrave@stargrave.org>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 3 of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+// goredo -- djb's redo implementation on pure Go
+// Copyright (C) 2020-2024 Sergey Matveev <stargrave@stargrave.org>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
package main
)
const (
- Version = "1.23.0"
- Warranty = `Copyright (C) 2020-2022 Sergey Matveev
+ Version = "2.5.0"
+ Warranty = `Copyright (C) 2020-2024 Sergey Matveev
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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 ]
d = `Usage: redo-affects target [...]
List all targets that will be affected by changing the specified ones.`
+ case CmdNameRedoDep2Rec:
+ d = `Usage: redo-dep2rec .../.redo/file.dep
+
+Convert binary .dep file to recfile and write it to stdout.`
case CmdNameRedoDepFix:
d = `Usage: redo-depfix
-Traverse over all .redo directories beneath and check if inode's information
-(ctime/mtime) differs. Update dependency if file's content is still the same.`
+Traverse over all .redo directories beneath and recalculate each target's
+inode and hash information, rewriting dependency files. If dependency has
+legacy .rec format, then it will be converted to .dep one.`
+ case CmdNameRedoInode:
+ d = `Usage: redo-inode target [...]
+
+Just calculate inode information about each target and print in recfile format.`
default:
d = `Usage: goredo -symlinks
goredo expects to be called through the symbolic link to it.
Available commands: redo, redo-affects, redo-always, redo-cleanup,
-redo-depfix, redo-dot, redo-ifchange, redo-ifcreate, redo-log,
-redo-ood, redo-sources, redo-stamp, redo-targets, redo-whichdo.`
+redo-dep2rec, redo-depfix, redo-dot, redo-ifchange, redo-ifcreate,
+redo-inode, redo-log, redo-ood, redo-sources, redo-stamp,
+redo-targets, redo-whichdo.`
}
fmt.Fprintf(os.Stderr, "%s\n\nCommon options:\n", d)
flag.PrintDefaults()