add REPRODUCIBLE
authorJoey Hess <joeyh@joeyh.name>
Wed, 19 Feb 2025 18:16:36 +0000 (14:16 -0400)
committerJoey Hess <joeyh@joeyh.name>
Wed, 19 Feb 2025 18:16:36 +0000 (14:16 -0400)
doc/design/compute_special_remote_interface.mdwn

index e70c63db1aa07406e398f56296f1bffeaad5e621..f82fdc22c5170977b1c176db179b02943c660bfe 100644 (file)
@@ -10,7 +10,7 @@ When an compute special remote is initremoted, a program is specified:
 The user adds an annexed file that is computed by the program by running
 a command like this:
 
-    git-annex addcomputed --with myremote \
+    git-annex addcomputed --to myremote \
         --input raw=file.raw --value passes=10 \
         --output photo=file.jpeg
 
@@ -72,7 +72,7 @@ supports. This allows `git-annex addcomputed` and `git-annex initremote` to
 list inputs and outputs, and also lets them reject invalid inputs and
 outputs.
 
-In this mode, the program is run a paramter "list"
+In this mode, the program is run with a "list" parameter
 It should output lines, in the form:
 
     INPUT[?] Name Description
@@ -83,6 +83,12 @@ Use "INPUT" when a file is an input to the computation,
 and "VALUE" for all other input values. Use "INPUT?" and "VALUE?"
 for optional inputs and values.
 
+The program can also optionally output a "REPRODUCIBLE" line.
+That indicates that the results of its computations are
+expected to be bit-for-bit reproducible.
+That makes `git-annex addcomputed` behave as if the `--reproducible`
+option is set.
+
 An example `git-annex-compute-foo` shell script follows:
 
     #!/bin/sh
@@ -91,6 +97,7 @@ An example `git-annex-compute-foo` shell script follows:
         echo "INPUT raw A photo in RAW format"
         echo "VALUE? passes Number of passes"
         echo "OUTPUT photo Computed JPEG"
+        echo "REPRODUCIBLE"
         exit 0
     fi
     if [ -z "$ANNEX_COMPUTE_VALUE_passes" ]; then