about summary refs log tree commit diff
path: root/third_party/git/pack-objects.h
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-25T23·06+0100
committerVincent Ambo <tazjin@google.com>2020-05-25T23·06+0100
commit93ba78d6f4632ef1c5228965e3edc8c0faf88c1e (patch)
tree85730c182a9f5f492ade8e8ccdb1c2356f9900bd /third_party/git/pack-objects.h
parent6f8fbf4aa4b1654ab27d4829e114538761817de0 (diff)
revert(3p/git): Revert merge of git upstream at v2.26.2 r/852
This causes cgit to serve error pages, which is undesirable.

This reverts commit 5229c9b232de5bfa959ad6ebbb4c8192ac513352, reversing
changes made to f2b211131f2347342dde63975b09cf603149f1a3.
Diffstat (limited to 'third_party/git/pack-objects.h')
-rw-r--r--third_party/git/pack-objects.h27
1 files changed, 10 insertions, 17 deletions
diff --git a/third_party/git/pack-objects.h b/third_party/git/pack-objects.h
index 9d88e3e518..857d43850b 100644
--- a/third_party/git/pack-objects.h
+++ b/third_party/git/pack-objects.h
@@ -183,10 +183,12 @@ static inline void packing_data_unlock(struct packing_data *pdata)
 }
 
 struct object_entry *packlist_alloc(struct packing_data *pdata,
-				    const struct object_id *oid);
+				    const unsigned char *sha1,
+				    uint32_t index_pos);
 
 struct object_entry *packlist_find(struct packing_data *pdata,
-				   const struct object_id *oid);
+				   const struct object_id *oid,
+				   uint32_t *index_pos);
 
 static inline uint32_t pack_name_hash(const char *name)
 {
@@ -251,21 +253,12 @@ static inline void oe_set_in_pack(struct packing_data *pack,
 				  struct object_entry *e,
 				  struct packed_git *p)
 {
-	if (pack->in_pack_by_idx) {
-		if (p->index) {
-			e->in_pack_idx = p->index;
-			return;
-		}
-		/*
-		 * We're accessing packs by index, but this pack doesn't have
-		 * an index (e.g., because it was added since we created the
-		 * in_pack_by_idx array). Bail to oe_map_new_pack(), which
-		 * will convert us to using the full in_pack array, and then
-		 * fall through to our in_pack handling.
-		 */
+	if (!p->index)
 		oe_map_new_pack(pack);
-	}
-	pack->in_pack[e - pack->objects] = p;
+	if (pack->in_pack_by_idx)
+		e->in_pack_idx = p->index;
+	else
+		pack->in_pack[e - pack->objects] = p;
 }
 
 static inline struct object_entry *oe_delta(
@@ -292,7 +285,7 @@ static inline void oe_set_delta(struct packing_data *pack,
 
 void oe_set_delta_ext(struct packing_data *pack,
 		      struct object_entry *e,
-		      const struct object_id *oid);
+		      const unsigned char *sha1);
 
 static inline struct object_entry *oe_delta_child(
 		const struct packing_data *pack,