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_DELETE_REFS "delete-refs"
|
||||
#define GIT_CAP_REPORT_STATUS "report-status"
|
||||
#define GIT_CAP_THIN_PACK "thin-pack"
|
||||
|
||||
enum git_pkt_type {
|
||||
GIT_PKT_CMD,
|
||||
@ -116,7 +117,8 @@ typedef struct transport_smart_caps {
|
||||
side_band_64k:1,
|
||||
include_tag:1,
|
||||
delete_refs:1,
|
||||
report_status:1;
|
||||
report_status:1,
|
||||
thin_pack:1;
|
||||
} transport_smart_caps;
|
||||
|
||||
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)
|
||||
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))
|
||||
return -1;
|
||||
|
||||
|
@ -128,6 +128,12 @@ int git_smart__detect_caps(git_pkt_ref *pkt, transport_smart_caps *caps)
|
||||
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 */
|
||||
ptr = strchr(ptr, ' ');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user