aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment')
-rw-r--r--doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment65
1 files changed, 0 insertions, 65 deletions
diff --git a/doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment b/doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment
deleted file mode 100644
index df74f19cb..000000000
--- a/doc/todo/interface_to_the___34__progress__34___of_annex_operations/comment_1_b71937cb772b3400839755bb11a1ffe4._comment
+++ /dev/null
@@ -1,65 +0,0 @@
-[[!comment format=mdwn
- username="joey"
- subject="""comment 1"""
- date="2016-09-08T15:32:00Z"
- content="""
-yoh pointed out in email that reusing the special remote interface would
-not work with -J because it doesn't tell what key progress is being shown
-for.
-
-Also, note that --json -J does not currently output json; -J overrides the
---json to instead use concurrent-output for progress display. The current
-way that json is emitted incrementally would need to be changed to be usable
-with -J.
-
-Is there any need for a program that is driving git-annex with --json
-to use -J, instead of just starting several git-annex processes? The only
-major benefit I can think of is the recently added better selection between
-multiple remotes by parallel `git annex get`. Other performance benefits
-between -J and multiple processes should mostly be small.
-
-To suppose --json -J, instead of a partial json object that later gets added
-to as the command progresses:
-
- {"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1..."
-
-We'd need something like this, with each json object buffered
-and only output when it was complete (and output serialized so
-objects are written one at a time):
-
- {"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1...", "inprogress":true}
- {"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","success":true}
-
-If we're doing that, we might as well use json for the progress info too,
-in between the two json objects in the example above:
-
- {"percent-progress":"25%","byte-progress":500,"key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3"}
- {"percent-progress":"75%","byte-progress":1500","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3"}
-
-But this is a large change to the json format, and would probably break
-all consumers of it. I don't like that, but also don't like the complexity
-of having two different varieties of json output for parallel and
-non-parallel modes.
-
-Hmm, if we're buffering the "command" json objects, we could keep them
-formatted the same as they are now, only displaying them when done. And
-progress objects could be inserted before:
-
- {"percent-progress":"25%","byte-progress":500,"key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar"}
- {"percent-progress":"75%","byte-progress":1500","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar"}
- {"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1...","success":true}
-
-That seems a bit verbose, but I think all that info could be needed by
-consumers of the progress objects. Hmm, since the "command" json objects
-are being buffered, we could even include the currently buffered object
-nested inside the progress object:
-
- {"percent-progress":"25%","byte-progress":500,"action":{"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1..."}}
- {"percent-progress":"75%","byte-progress":1500,"action":{"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1..."}}
- {"command":"get","key":"SHA256E-s5242880--82cb4363f596cb66e7bc6e4cbfd2bfe8a8b6ac7e6d02557cc0e3944ec8faafc3","file":"bar","note":"from d1...","success":true}
-
-That's not a lot more verbose than the earlier version, and it ensures that
-consumers of the progress objects have all possible information available
-(including the name of the remote being downloaded from in the above
-example).
-"""]]