mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-24 05:09:27 +00:00
net: advertise our support for fixing thin packs
This commit is contained in:
parent
0b33fca03e
commit
b4342b116d
@ -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 {
|
|||||||
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
|
|||||||
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)
|
|||||||
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, ' ');
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user