diff options
author | Jameson Miller <jamill@microsoft.com> | 2013-10-02 21:45:32 +0400 |
---|---|---|
committer | Jameson Miller <jamill@microsoft.com> | 2013-10-02 23:12:44 +0400 |
commit | 5b1882254551cc9031d919c2f31c05153a665762 (patch) | |
tree | a5a4b2fab8622f11bd70bd4388f14bc6557d07a1 /src/indexer.c | |
parent | 5bfead1dba919f6b47f52da675ea94407e8baf49 (diff) |
Support cancellation in push operation
This commit adds cancellation for the push operation. This work consists of:
1) Support cancellation during push operation
- During object counting phase
- During network transfer phase
- Propagate GIT_EUSER error code out to caller
2) Improve cancellation support during fetch
- Handle cancellation request during network transfer phase
- Clear error string when cancelled during indexing
3) 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).
Diffstat (limited to 'src/indexer.c')
-rw-r--r-- | src/indexer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/indexer.c b/src/indexer.c index 3b160df5d..4ce69fc8d 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -556,6 +556,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz stats->received_objects++; if (do_progress_callback(idx, stats) != 0) { + giterr_clear(); error = GIT_EUSER; goto on_error; } |