summaryrefslogtreecommitdiff
path: root/transport.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-07-09 11:01:06 -0700
committerJunio C Hamano <gitster@pobox.com>2013-07-22 22:18:19 -0700
commit91048a9537a4716c84934e4f8ed114a20606d3ff (patch)
tree7421ff6ea3478b843f112a4abf0d8674dbe5a5b3 /transport.h
parent28f5d176110d2ed768a0a49159993c7a02d8cb15 (diff)
downloadgit-91048a9537a4716c84934e4f8ed114a20606d3ff.tar.gz
push --force-with-lease: implement logic to populate old_sha1_expect[]
This plugs the push_cas_option data collected by the command line option parser to the transport system with a new function apply_push_cas(), which is called after match_push_refs() has already been called. At this point, we know which remote we are talking to, and what remote refs we are going to update, so we can fill in the details that may have been missing from the command line, such as (1) what abbreviated refname the user gave us matches the actual refname at the remote; and (2) which remote-tracking branch in our local repository to read the value of the object to expect at the remote. to populate the old_sha1_expect[] field of each of the remote ref. As stated in the documentation, the use of remote-tracking branch as the default is a tentative one, and we may come up with a better logic as we gain experience. Still nobody uses this information, which is the topic of the next patch. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport.h')
-rw-r--r--transport.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/transport.h b/transport.h
index b551f99110..10f7556001 100644
--- a/transport.h
+++ b/transport.h
@@ -14,6 +14,7 @@ struct git_transport_options {
int depth;
const char *uploadpack;
const char *receivepack;
+ struct push_cas_option *cas;
};
struct transport {
@@ -127,6 +128,9 @@ struct transport *transport_get(struct remote *, const char *);
/* Transfer the data as a thin pack if not null */
#define TRANS_OPT_THIN "thin"
+/* Check the current value of the remote ref */
+#define TRANS_OPT_CAS "cas"
+
/* Keep the pack that was transferred if not null */
#define TRANS_OPT_KEEP "keep"