libgit2/libgit2 — pull request #1888 by jamill (2013-10-02 19:32:18+00:00)
Title: network cancellation improvements

This PR consists of:

- Adding support for cancellation during push
- Various other tweaks to support this and other error handling issues found along the way
- Fix to the online push tests. These tests are still broken until #1853 is merged.

The changes for cancellation include:
- Support cancellation during push operation
- During object counting phase
- During network transfer phase
- Propagate GIT_EUSER error code out to caller
- Improve cancellation support during fetch
- Handle cancellation request during network transfer phase
- Clear error string when cancelled during indexing
- Fix error handling in git_smart__download_pack

Cancellation during push is still only handled in the pack building and
network transfer stages of push (and not during packbuilding).