packfile: add repository argument to retry_bad_packed_offset
Add a repository argument to allow the callers of retry_bad_packed_offset to be more specific about which repository to handle. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Reviewed-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Beller committed
Apr 25, 2018 at 11:21 UTC
0df23781fedc5be6c0dc943e39107b7f1b265826
1 file changed
+5
-3
packfile.c
+5
-3
@@ -1104,7 +1104,9 @@ static const unsigned char *get_delta_base_sha1(struct packed_git *p,
1104
return NULL;
1105
}
1106
1107
-static int retry_bad_packed_offset(struct packed_git *p, off_t obj_offset)
1107
+#define retry_bad_packed_offset(r, p, o) \
1108
+ retry_bad_packed_offset_##r(p, o)
1109
+static int retry_bad_packed_offset_the_repository(struct packed_git *p, off_t obj_offset)
1110
{
1111
int type;
1112
struct revindex_entry *revidx;
@@ -1153,7 +1155,7 @@ static enum object_type packed_to_object_type(struct packed_git *p,
1155
if (type <= OBJ_NONE) {
1156
/* If getting the base itself fails, we first
1157
* retry the base, otherwise unwind */
1156
- type = retry_bad_packed_offset(p, base_offset);
1158
+ type = retry_bad_packed_offset(the_repository, p, base_offset);
1159
if (type > OBJ_NONE)
1160
goto out;
1161
goto unwind;
@@ -1181,7 +1183,7 @@ out:
1183
unwind:
1184
while (poi_stack_nr) {
1185
obj_offset = poi_stack[--poi_stack_nr];
1184
- type = retry_bad_packed_offset(p, obj_offset);
1186
+ type = retry_bad_packed_offset(the_repository, p, obj_offset);
1187
if (type > OBJ_NONE)
1188
goto out;
1189
}