Make "tree_entry" have a SHA1 instead of a union of object pointers
[git.git] / http-push.c
index 4a9dcf2..f492a5d 100644 (file)
@@ -60,12 +60,12 @@ enum XML_Status {
 #define LOCK_TIME 600
 #define LOCK_REFRESH 30
 
-/* bits #0-6 in revision.h */
+/* bits #0-15 in revision.h */
 
-#define LOCAL    (1u << 7)
-#define REMOTE   (1u << 8)
-#define FETCHING (1u << 9)
-#define PUSHING  (1u << 10)
+#define LOCAL    (1u<<16)
+#define REMOTE   (1u<<17)
+#define FETCHING (1u<<18)
+#define PUSHING  (1u<<19)
 
 /* We allow "recursive" symbolic refs. Only within reason, though */
 #define MAXDEPTH 5
@@ -1733,9 +1733,9 @@ static struct object_list **process_tree(struct tree *tree,
        while (entry) {
                struct tree_entry_list *next = entry->next;
                if (entry->directory)
-                       p = process_tree(entry->item.tree, p, &me, entry->name);
+                       p = process_tree(lookup_tree(entry->sha1), p, &me, entry->name);
                else
-                       p = process_blob(entry->item.blob, p, &me, entry->name);
+                       p = process_blob(lookup_blob(entry->sha1), p, &me, entry->name);
                free(entry);
                entry = next;
        }