summaryrefslogtreecommitdiff
path: root/doc/design/assistant/progressbars.mdwn
blob: 6b1521af604b7c8810f8a0efb65596291cabaa2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Currently, git-annex takes a very lazy approch to displaying
progress into. It just lets rsync or whatever display the progress
for it, in the terminal.

Something better is needed for the [[webapp]]. There needs to be a
way for the web app to know what the current progress is of all transfers.

This is one of those potentially hidden but time consuming problems.

## downloads

* Watch temp file as it's coming in and use its size.
  This is the only option for some special remotes (ie, non-rsync).
  Can either poll every .5 seconds or so to check file size, or
  could use inotify. **done**

## 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.
* rsync: **done**
* directory
* web: Not applicable; does not upload 
* S3
* bup
* hook: Would require the hook interface to somehow do this, which seems
  too complicated. So skipping.