]> Cypherpunks.ru repositories - goredo.git/blobdiff - README
$1 touching check only if file was known before
[goredo.git] / README
diff --git a/README b/README
index 222c94ae2ba99c09a29fd60e05393b6a1757338c..0cb969af6141cd4b16bbae27017ec7f558562df9 100644 (file)
--- a/README
+++ b/README
@@ -18,14 +18,14 @@ INSTALL                                                 *goredo-install*
     $ goredo -symlinks
     $ export PATH=`pwd`:$PATH
 
     $ goredo -symlinks
     $ export PATH=`pwd`:$PATH
 
-If you have problems with *.golang.org's unability to verify
+If you have problems with *.golang.org's inability to verify
 authenticity of go.cypherpunks.ru TLS connection, then you can disable
 their usage by setting GOPRIVATE=go.cypherpunks.ru. If you still have
 problems with the authenticity on your side, then build it manually: >
 
     $ git clone git://git.cypherpunks.ru/goredo.git
     $ cd goredo
 authenticity of go.cypherpunks.ru TLS connection, then you can disable
 their usage by setting GOPRIVATE=go.cypherpunks.ru. If you still have
 problems with the authenticity on your side, then build it manually: >
 
     $ git clone git://git.cypherpunks.ru/goredo.git
     $ cd goredo
-    $ git tag -v v0.4.1
+    $ git tag -v v0.5.0
     $ git clone git://git.cypherpunks.ru/gorecfile.git
     $ ( cd gorecfile ; git tag -v v0.3.0 )
     $ echo "replace go.cypherpunks.ru/recfile => `pwd`/gorecfile" >> go.mod
     $ git clone git://git.cypherpunks.ru/gorecfile.git
     $ ( cd gorecfile ; git tag -v v0.3.0 )
     $ echo "replace go.cypherpunks.ru/recfile => `pwd`/gorecfile" >> go.mod
@@ -41,7 +41,7 @@ NOTES                                                     *goredo-notes*
 * "all" target is default
 * stdout is always captured, but no target is created if it was empty
 * empty targets are considered always out of date
 * "all" target is default
 * stdout is always captured, but no target is created if it was empty
 * empty targets are considered always out of date
-* .do's $3 is relative path to the file in same directory
+* .do's $3 is relative path to the file in target directory
 * .do search goes up to / by default, but can be limited with either
   $REDO_TOP_DIR environment variable, or by having .redo/top file in it
 * target's completion messages are written after they finish
 * .do search goes up to / by default, but can be limited with either
   $REDO_TOP_DIR environment variable, or by having .redo/top file in it
 * target's completion messages are written after they finish
@@ -96,6 +96,7 @@ COMMANDS                                               *goredo-commands*
     default.do
     ../default.b.o.do
     ../default.o.do
     default.do
     ../default.b.o.do
     ../default.o.do
+    ../default.do
 * redo-dot -- dependency DOT graph generator. For example to visualize
   your dependencies with GraphViz: >
     $ redo target [...] # to assure that **/.redo/*.dep are filled up
 * redo-dot -- dependency DOT graph generator. For example to visualize
   your dependencies with GraphViz: >
     $ redo target [...] # to assure that **/.redo/*.dep are filled up
@@ -138,14 +139,33 @@ goredo includes redo-stamp, that really records the stamp in the .dep
 file, but it does not play any role later. It is stayed just for
 compatibility.
 
 file, but it does not play any role later. It is stayed just for
 compatibility.
 
-    Removed .do can lead to permanent errors of its non existence~
-
-That is true, because dependency on it was recorded previously. Is it
-safe to assume that .do-less target now is an ordinary source-file? I
-have no confidence in such behaviour. So it is user's decision how to
-deal with it, probably it was just his inaccuracy mistake. If you really
-want to get rid of that dependency knowledge for foo/bar target, then
-just remove foo/.redo/bar.dep.
+    Can removed .do lead to permanent errors of its non existence?~
+
+Yes, because dependency on it was recorded previously. Is it safe to
+assume that .do-less target now is an ordinary source-file? I have no
+confidence in such behaviour. So it is user's decision how to deal with
+it, probably it was just his inaccuracy mistake. If you really want to
+get rid of that dependency knowledge for foo/bar target, then just
+remove foo/.redo/bar.dep.
+
+    Does redo-always always rebuilds target?~
+
+goredo, together with apenwarr/redo, rebuilds target once per run.
+Always rebuilds during every redo invocation, but only once during it
+building. http://news.dieweltistgarnichtso.net/bin/redo-sh.html#why-built-twice
+has other opinion, that is why its redo-sh.tests/always_rebuild_1 will
+fail. Rebuilding of always-ed targets even during the same build process
+ruins any redo's usability in practice.
+
+For example if my .h file contains source code's version number, that is
+git-describe's output and all my other files depends on that header,
+then any redo-ifchange of .o will lead to git-describe execution, that
+is rather heavy. Of course, because of either hashing or possible
+redo-stamp-ing its dependants won't be rebuilt further, but build time
+will be already ruined. If you need to rebuild TeX documents (case
+mentioned in redo-sh's FAQ) until all references and numbers are ready,
+then you must naturally expectedly explicitly use while cycle in your
+.do, as apenwarr/redo already suggests.
 
 STATE                                                     *goredo-state*
 
 
 STATE                                                     *goredo-state*