config.txt: third-party tools may and do use their own variables
[gitweb.git] / remote.h
index 843c3cef45f5de22bd37ee3bc943e42e569522a6..131130a611b55c9f79649037e6dde916b621f578 100644 (file)
--- a/remote.h
+++ b/remote.h
@@ -42,6 +42,7 @@ struct remote {
        int fetch_tags;
        int skip_default_update;
        int mirror;
+       int prune;
 
        const char *receivepack;
        const char *uploadpack;
@@ -77,10 +78,13 @@ struct ref {
        struct ref *next;
        unsigned char old_sha1[20];
        unsigned char new_sha1[20];
+       unsigned char old_sha1_expect[20]; /* used by expect-old */
        char *symref;
        unsigned int
                force:1,
                forced_update:1,
+               expect_old_sha1:1,
+               expect_old_no_trackback:1,
                deletion:1,
                matched:1;
 
@@ -104,6 +108,7 @@ struct ref {
                REF_STATUS_REJECT_NODELETE,
                REF_STATUS_REJECT_FETCH_FIRST,
                REF_STATUS_REJECT_NEEDS_FORCE,
+               REF_STATUS_REJECT_STALE,
                REF_STATUS_UPTODATE,
                REF_STATUS_REMOTE_REJECT,
                REF_STATUS_EXPECTING_REPORT
@@ -248,4 +253,7 @@ extern int parseopt_push_cas_option(const struct option *, const char *arg, int
 extern int parse_push_cas_option(struct push_cas_option *, const char *arg, int unset);
 extern void clear_cas_option(struct push_cas_option *);
 
+extern int is_empty_cas(const struct push_cas_option *);
+void apply_push_cas(struct push_cas_option *, struct remote *, struct ref *);
+
 #endif