@@ -215,14 +215,31 @@ int http_get_info_packs(const char *base_url,
struct packed_git **packs_head);
struct http_pack_request {
+ /*
+ * Initialized by new_http_pack_request().
+ */
char *url;
struct packed_git *target;
+ struct active_request_slot *slot;
+
+ /*
+ * After calling new_http_pack_request(), point lst to the head of the
+ * pack list that target is in. finish_http_pack_request() will remove
+ * target from lst and call install_packed_git() on target.
+ */
struct packed_git **lst;
+
+ /*
+ * State managed by functions in http.c.
+ */
FILE *packfile;
struct strbuf tmpfile;
- struct active_request_slot *slot;
};
+/*
+ * target must be an element in a pack list obtained from
+ * http_get_info_packs().
+ */
struct http_pack_request *new_http_pack_request(
struct packed_git *target, const char *base_url);
int finish_http_pack_request(struct http_pack_request *preq);
struct http_pack_request and the functions that use it will be modified in a subsequent patch. Using it is complicated (to use, call the initialization function, then set some but not all fields in the returned struct), so add some documentation to help future users. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> --- http.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)