send-pack: track errors for each ref
[gitweb.git] / cache.h
diff --git a/cache.h b/cache.h
index e5ea637c2941550624ac49a12a7ea64e44b3c2d3..6663ec52d10720693cf62fe6e69ea6f06e85d7e5 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -493,8 +493,17 @@ struct ref {
        struct ref *next;
        unsigned char old_sha1[20];
        unsigned char new_sha1[20];
-       unsigned char force;
-       unsigned char merge;
+       unsigned char force : 1;
+       unsigned char merge : 1;
+       unsigned char nonfastforward : 1;
+       unsigned char deletion : 1;
+       enum {
+               REF_STATUS_NONE = 0,
+               REF_STATUS_OK,
+               REF_STATUS_REJECT_NONFASTFORWARD,
+               REF_STATUS_REJECT_NODELETE,
+               REF_STATUS_UPTODATE,
+       } status;
        struct ref *peer_ref; /* when renaming */
        char name[FLEX_ARRAY]; /* more */
 };