of core.sharedRepository and umask.
* initremote: Avoid creating a remote that is not encrypted when gpg is
broken.
- * fix, log, rmurl, unannex: Support --json and --json-error-messages.
+ * Support --json and --json-error-messages in more commands
+ (fix, log, rekey, rmurl, setpresentkey, unannex)
* log: When --raw-date is used, display only seconds from the epoch, as
documented, omitting a trailing "s" that was included in the output
before.
import System.PosixCompat.Files (linkCount, fileMode)
cmd :: Command
-cmd = command "rekey" SectionPlumbing
- "change keys used for files"
- (paramRepeating $ paramPair paramPath paramKey)
- (seek <$$> optParser)
+cmd = withAnnexOptions [jsonOptions] $
+ command "rekey" SectionPlumbing
+ "change keys used for files"
+ (paramRepeating $ paramPair paramPath paramKey)
+ (seek <$$> optParser)
data ReKeyOptions = ReKeyOptions
{ reKeyThese :: CmdParams
* git-annex-rmurl
* git-annex-log
* git-annex-fix
+* git-annex-setpresentkey
+* git-annex-rekey
Provisional list of commands that don't support --json and maybe should:
* git-annex-addunused
* git-annex-adjust
* git-annex-backends
-* git-annex-benchmark
-* git-annex-checkpresentkey
-* git-annex-common-options
* git-annex-config
* git-annex-configremote
* git-annex-dead
* git-annex-describe
-* git-annex-diffdriver
* git-annex-dropunused
* git-annex-edit
* git-annex-enable-tor
* git-annex-enableremote
* git-annex-expire
* git-annex-filter-branch
-* git-annex-filter-process
* git-annex-forget
* git-annex-group
* git-annex-groupwanted
* git-annex-init
* git-annex-initremote
* git-annex-inprogress
-* git-annex-matchexpression
-* git-annex-matching-expression
* git-annex-merge
* git-annex-migrate
* git-annex-mincopies
* git-annex-multicast
* git-annex-numcopies
* git-annex-preferred-content
-* git-annex-readpresentkey
* git-annex-reinit
* git-annex-reinject
-* git-annex-rekey
* git-annex-remotedaemon
* git-annex-renameremote
* git-annex-repair
* git-annex-required
-* git-annex-resolvemerge
-* git-annex-restage
* git-annex-schedule
* git-annex-semitrust
-* git-annex-setkey
-* git-annex-setpresentkey
* git-annex-sync
-* git-annex-transferkey
-* git-annex-transferkeys
-* git-annex-transferrer
* git-annex-trust
* git-annex-undo
* git-annex-ungroup
These commands have been reviewed and should not support json:
-* git-annex-contentlocation, git-annex-lookupkey, git-annex-calckey (output already machine parseable)
+* git-annex-contentlocation, git-annex-lookupkey, git-annex-calckey,
+ (plumbing, output already machine parseable)
+* git-annex-setkey (plumbing)
+* git-annex-checkpresentkey (plumbing, has batch interface with machine
+ parseable output)
+* git-annex-readpresentkey (plumbing, no output)
+* git-annex-matchexpression (no output)
* git-annex-list (because it's a compact display of whereis so no new information)
* git-annex-direct (deprecated noop)
* git-annex findref (deprecated, can use find to do same thing)
structured)
* git-annex-pre-commit (used internally)
* git-annex-post-receive (used internally)
-* git-annex-smudge (used internally)
+* git-annex-smudge, git-annex-filter-process (run by git)
* git-annex-p2p (used internally)
* git-annex-shell (run by git)
* git-annex-assistant (too high level)
* git-annex-test, git-annex testremote (ouput not useful to consume and generated by tasty)
* git-annex-fuzztest (output not useful to consume)
* git-annex-map (already generates machine-parseable output file, stdout is incidental)
+* git-annex-transferkey, git-annex-transferkeys (plumbing)
+* git-annex-transferrer (plumbing, has its own protocol)
+* git-annex-resolvemerge (no output except to stderr)
+* git-annex-diffdriver (run by git)
+* git-annex-restage (no output)
+* git-annex-benchmark (no useful output, and output generated by criterion)