summaryrefslogtreecommitdiff
path: root/include/git2/remote.h
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-04-19 00:55:00 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2015-04-19 01:02:29 +0200
commitefc2fec50e3bb725b2b244fdeacfb2dfad6ee78e (patch)
tree996e1ba559244e36596d98b7bb2fe4754ac94ee3 /include/git2/remote.h
parent4c02d393748d0db382450871ad9ef6898a2ce360 (diff)
downloadlibgit2-efc2fec50e3bb725b2b244fdeacfb2dfad6ee78e.tar.gz
push: report the update plan to the callercmn/negotiation-notify
It can be useful for the caller to know which update commands will be sent to the server before the packfile is pushed up. git does this via the pre-push hook. We don't have hooks, but as it adds introspection into what is happening, we can add a callback which performs the same function.
Diffstat (limited to 'include/git2/remote.h')
-rw-r--r--include/git2/remote.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/git2/remote.h b/include/git2/remote.h
index f85c38429..6e88a4680 100644
--- a/include/git2/remote.h
+++ b/include/git2/remote.h
@@ -521,6 +521,12 @@ struct git_remote_callbacks {
int (*push_update_reference)(const char *refname, const char *status, void *data);
/**
+ * Called once between the negotiation step and the upload. It
+ * provides information about what updates will be performed.
+ */
+ git_push_negotiation push_negotiation;
+
+ /**
* This will be passed to each of the callbacks in this struct
* as the last parameter.
*/