libgit2/libgit2 — pull request #990 by ben (2012-10-17 17:18:46+00:00)
Title: Progress callbacks

Fetch, checkout, and clone currently report progress through a shared memory object, which requires a two-thread arrangement on the caller's side. This is a generally good idea, but not especially friendly to bindings.

This PR converts these three APIs to use inline callbacks for reporting progress, so no threading is necessary. It probably accomplishes the same goal as #890, and in a more binding-friendly way.

* Checkout will report on every diff
* Fetch will report on every object received, every object indexed, and (ideally) every 100kb or so received