mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-09 15:00:04 +00:00
Check the return codes of remote callbacks.
The user may have requested that the operation be cancelled.
This commit is contained in:
parent
9effa2fb72
commit
4f62163ead
@ -455,8 +455,7 @@ struct git_remote_callbacks {
|
|||||||
/**
|
/**
|
||||||
* Textual progress from the remote. Text send over the
|
* Textual progress from the remote. Text send over the
|
||||||
* progress side-band will be passed to this function (this is
|
* progress side-band will be passed to this function (this is
|
||||||
* the 'counting objects' output. This callback should return a value less
|
* the 'counting objects' output.
|
||||||
* than zero to cancel the operation.
|
|
||||||
*/
|
*/
|
||||||
int (*progress)(const char *str, int len, void *data);
|
int (*progress)(const char *str, int len, void *data);
|
||||||
|
|
||||||
|
@ -882,10 +882,7 @@ static int stream_thunk(void *buf, size_t size, void *data)
|
|||||||
|
|
||||||
if ((current_time - payload->last_progress_report_time) >= MIN_PROGRESS_UPDATE_INTERVAL) {
|
if ((current_time - payload->last_progress_report_time) >= MIN_PROGRESS_UPDATE_INTERVAL) {
|
||||||
payload->last_progress_report_time = current_time;
|
payload->last_progress_report_time = current_time;
|
||||||
if (payload->cb(payload->pb->nr_written, payload->pb->nr_objects, payload->last_bytes, payload->cb_payload)) {
|
error = payload->cb(payload->pb->nr_written, payload->pb->nr_objects, payload->last_bytes, payload->cb_payload);
|
||||||
giterr_clear();
|
|
||||||
error = GIT_EUSER;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -957,7 +954,14 @@ int git_smart__push(git_transport *transport, git_push *push)
|
|||||||
|
|
||||||
/* If progress is being reported write the final report */
|
/* If progress is being reported write the final report */
|
||||||
if (push->transfer_progress_cb) {
|
if (push->transfer_progress_cb) {
|
||||||
push->transfer_progress_cb(push->pb->nr_written, push->pb->nr_objects, packbuilder_payload.last_bytes, push->transfer_progress_cb_payload);
|
error = push->transfer_progress_cb(
|
||||||
|
push->pb->nr_written,
|
||||||
|
push->pb->nr_objects,
|
||||||
|
packbuilder_payload.last_bytes,
|
||||||
|
push->transfer_progress_cb_payload);
|
||||||
|
|
||||||
|
if (error < 0)
|
||||||
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (push->status.length) {
|
if (push->status.length) {
|
||||||
|
Loading…
Reference in New Issue
Block a user