summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar http://joeyh.name/ <joey@web>2013-05-22 04:19:34 +0000
committerGravatar admin <admin@branchable.com>2013-05-22 04:19:34 +0000
commite5c37c5305f04229a6bd93df81196971e42ef6d9 (patch)
treeae444e219edaea5e4917f215b619ccdf4a65b8b0
parentd2d8f076de652e2993557d63609a604fa4fe9e64 (diff)
-rw-r--r--doc/todo/support_for_writing_external_special_remotes.mdwn13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/todo/support_for_writing_external_special_remotes.mdwn b/doc/todo/support_for_writing_external_special_remotes.mdwn
new file mode 100644
index 000000000..eab0c5dff
--- /dev/null
+++ b/doc/todo/support_for_writing_external_special_remotes.mdwn
@@ -0,0 +1,13 @@
+It would be good to have something in between the hook special remote and the built-in special remotes.
+The hook is easy to set up, but its simple interface misses some features that a more full-features interface could provide to a third-party program that wants to provide the best possible special remote it can w/o being written in haskell:
+
+* No way to send progress updates when uploading, so no progress bars for uploads from hook special remotes in the webapp.
+* No way to verify the `initremote` parameters include all needed configuration, and do any initalization needed.
+* No way to query and/or set the remote.log while it's running. (Well, technically, `git annex enableremote` can set values..)
+* No way to store per-key information to the git-annex branch.
+
+These features could be added to git-annex as subcommands. Which would improve the general programmability and flexability of git-annex. OTOH, running `git-annex upload-progress` repeatedly is pretty ugly. Or the interface could provide a channel for the program and git-annex to communicate back and forth on. Maybe a mix of the two?
+
+A final feature such an interface should provide is the ability to drop a program into PATH and have it just work, without the user needing to do any configuration beyond `initremote`. So, `git annex initremote foo type=$bar` should look for `git-annex-remote-$bar` in PATH if that's not a built-in special remote name.
+
+--[[Joey]]