summaryrefslogtreecommitdiff
path: root/doc/design/assistant/progressbars.mdwn
blob: 6228cb7f8460101695450afcbafd567698f1cfd5 (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
33
34
35
36
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 MeterUpdate callback as the upload progresses.

* git: **done**
* rsync: **done**
* directory: **done**
* web: Not applicable; does not upload 
* webdav: TODO
* S3: TODO
* bup: TODO
* hook: Would require the hook interface to somehow do this, which seems
  too complicated. So skipping.

## communication

It may be worth using a better communication channel than files on disk for
the transfer progress. Shared memory could be used, or http posts to the
webapp.