return nl + 1;
}
-static void generate_push_cert(struct strbuf *req_buf,
- const struct ref *remote_refs,
- struct send_pack_args *args)
+static int generate_push_cert(struct strbuf *req_buf,
+ const struct ref *remote_refs,
+ struct send_pack_args *args,
+ const char *cap_string)
{
const struct ref *ref;
char stamp[60];
if (sign_buffer(&cert, &cert, signing_key))
die(_("failed to sign the push certificate"));
- packet_buf_write(req_buf, "push-cert\n");
+ packet_buf_write(req_buf, "push-cert%c%s", 0, cap_string);
for (cp = cert.buf; cp < cert.buf + cert.len; cp = np) {
np = next_line(cp, cert.buf + cert.len - cp);
packet_buf_write(req_buf,
free_return:
free(signing_key);
strbuf_release(&cert);
+ return update_seen;
}
int send_pack(struct send_pack_args *args,
advertise_shallow_grafts_buf(&req_buf);
if (!args->dry_run && args->push_cert)
- generate_push_cert(&req_buf, remote_refs, args);
+ cmds_sent = generate_push_cert(&req_buf, remote_refs, args,
+ cap_buf.buf);
/*
* Clear the status for each ref and see if we need to send