For sample code on how to do this, check the OnClientProgress method in
the ProgressDialog in the AnkhSVN Source Code (username is "guest", no password).
There are a few oddities about the events that are generated by Subversion:
- TotalProgress indicates the total size of the file being transferred. It is only set when the value is known, otherwise it is -1
- Multiple requests can be active at the same time, so you see different combinations of TotalProgress and Progress. When combining this with the possible -1 value for unknown file size, it's quite hard to get an accurate estimation of throughput. This has been improved in Subversion 1.7 (and respective SharpSvn library). Progress values are accumulated for all events where TotalProgress == -1
- It depends on the protocol (http(s):// vs svn://) and http handler (neon or serf) what part of the packets is indicated as Progress. You can't provide accurate network traffic, because you don't know the overhead.