diff options
author | Joey Hess <joey@kitenet.net> | 2012-09-21 23:25:06 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-09-21 23:25:06 -0400 |
commit | c048add74dc91609e98e3513b0d167c5c7c9048c (patch) | |
tree | 7ebd020d494e43c9eb154a0390bf6b1101d1a4d6 /doc/design | |
parent | ee8789e9d74e74bb453925d46d1b0eed904e323f (diff) |
hooked up git-annex-shell transferinfo
Finally done with progressbars!
Diffstat (limited to 'doc/design')
-rw-r--r-- | doc/design/assistant/progressbars.mdwn | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/doc/design/assistant/progressbars.mdwn b/doc/design/assistant/progressbars.mdwn index ead440453..61e19ba1e 100644 --- a/doc/design/assistant/progressbars.mdwn +++ b/doc/design/assistant/progressbars.mdwn @@ -17,36 +17,14 @@ This is one of those potentially hidden but time consuming problems. ## uploads Each individual remote type needs to implement its own support for calling -the ProgressCallback as the upload progresses. - -* git: Done, with one exception: `git-annex-shell sendkey` runs `rsync - --server --sender` and in that mode it does not report progress info. - So downloads initiated by other repos do not show progress in the repo - doing the uploading. - - Maybe I should - write a proxy for the rsync wire protocol that can tell what chunk of the - file is being sent, and shim it in front of the rsync server? Sadly, - the protocol is insane. - - Another idea: Invert things. Make `git-annex-shell sendkey` run - `rsync -e 'cat'`, so it treats the incoming ssh connection as the server. - (cat probably won't really work; bidirectional pipe needed). - Run rsync in `--server` mode on the *client* side, piped to ssh. - Now the `git-annex` side doesn't have a progress bar (but it can poll the - file size and produce its own), `git-annex-shell` side does have a progress - bar. - - Less crazy, but probably harder idea: Multiplex progress info from client - back to server over the ssh connection, and demultiplex at server end. - Or, use a separate ssh connection, and let ssh connection caching handle - the multiplexing. +the MeterUpdate callback as the upload progresses. +* git: **done** * rsync: **done** * directory: **done** * web: Not applicable; does not upload -* S3 -* bup +* S3: TODO +* bup: TODO * hook: Would require the hook interface to somehow do this, which seems too complicated. So skipping. |