Commit b4342b11 by Carlos Martín Nieto

net: advertise our support for fixing thin packs

parent 0b33fca0
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#define GIT_CAP_INCLUDE_TAG "include-tag" #define GIT_CAP_INCLUDE_TAG "include-tag"
#define GIT_CAP_DELETE_REFS "delete-refs" #define GIT_CAP_DELETE_REFS "delete-refs"
#define GIT_CAP_REPORT_STATUS "report-status" #define GIT_CAP_REPORT_STATUS "report-status"
#define GIT_CAP_THIN_PACK "thin-pack"
enum git_pkt_type { enum git_pkt_type {
GIT_PKT_CMD, GIT_PKT_CMD,
...@@ -116,7 +117,8 @@ typedef struct transport_smart_caps { ...@@ -116,7 +117,8 @@ typedef struct transport_smart_caps {
side_band_64k:1, side_band_64k:1,
include_tag:1, include_tag:1,
delete_refs:1, delete_refs:1,
report_status:1; report_status:1,
thin_pack:1;
} transport_smart_caps; } transport_smart_caps;
typedef void (*packetsize_cb)(size_t received, void *payload); typedef void (*packetsize_cb)(size_t received, void *payload);
......
...@@ -472,6 +472,9 @@ static int buffer_want_with_caps(const git_remote_head *head, transport_smart_ca ...@@ -472,6 +472,9 @@ static int buffer_want_with_caps(const git_remote_head *head, transport_smart_ca
if (caps->include_tag) if (caps->include_tag)
git_buf_puts(&str, GIT_CAP_INCLUDE_TAG " "); git_buf_puts(&str, GIT_CAP_INCLUDE_TAG " ");
if (caps->thin_pack)
git_buf_puts(&str, GIT_CAP_THIN_PACK " ");
if (git_buf_oom(&str)) if (git_buf_oom(&str))
return -1; return -1;
......
...@@ -128,6 +128,12 @@ int git_smart__detect_caps(git_pkt_ref *pkt, transport_smart_caps *caps) ...@@ -128,6 +128,12 @@ int git_smart__detect_caps(git_pkt_ref *pkt, transport_smart_caps *caps)
continue; continue;
} }
if (!git__prefixcmp(ptr, GIT_CAP_THIN_PACK)) {
caps->common = caps->thin_pack = 1;
ptr += strlen(GIT_CAP_THIN_PACK);
continue;
}
/* We don't know this capability, so skip it */ /* We don't know this capability, so skip it */
ptr = strchr(ptr, ' '); ptr = strchr(ptr, ' ');
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment