hooked up git-annex-shell transferinfo
Finally done with progressbars!
This commit is contained in:
parent
ee8789e9d7
commit
c048add74d
6 changed files with 86 additions and 58 deletions
|
@ -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.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue