#define USE_THE_REPOSITORY_VARIABLE
#include "git-compat-util.h"
#include "config.h"
#include "commit.h"
#include "date.h"
#include "gettext.h"
#include "hex.h"
#include "object-store-ll.h"
#include "pkt-line.h"
#include "sideband.h"
#include "run-command.h"
#include "remote.h"
#include "connect.h"
#include "send-pack.h"
#include "transport.h"
#include "version.h"
#include "oid-array.h"
#include "gpg-interface.h"
#include "shallow.h"
#include "parse-options.h"
#include "trace2.h"
#include "write-or-die.h"
int option_parse_push_signed(const struct option *opt,
const char *arg, int unset)
{ … }
static void feed_object(const struct object_id *oid, FILE *fh, int negative)
{ … }
static int pack_objects(int fd, struct ref *refs, struct oid_array *advertised,
struct oid_array *negotiated,
struct send_pack_args *args)
{ … }
static int receive_unpack_status(struct packet_reader *reader)
{ … }
static int receive_status(struct packet_reader *reader, struct ref *refs)
{ … }
static int sideband_demux(int in UNUSED, int out, void *data)
{ … }
static int advertise_shallow_grafts_cb(const struct commit_graft *graft, void *cb)
{ … }
static void advertise_shallow_grafts_buf(struct strbuf *sb)
{ … }
#define CHECK_REF_NO_PUSH …
#define CHECK_REF_STATUS_REJECTED …
#define CHECK_REF_UPTODATE …
static int check_to_send_update(const struct ref *ref, const struct send_pack_args *args)
{ … }
static const char *next_line(const char *line, size_t len)
{ … }
static int generate_push_cert(struct strbuf *req_buf,
const struct ref *remote_refs,
struct send_pack_args *args,
const char *cap_string,
const char *push_cert_nonce)
{ … }
#define NONCE_LEN_LIMIT …
static void reject_invalid_nonce(const char *nonce, int len)
{ … }
static void get_commons_through_negotiation(const char *url,
const struct ref *remote_refs,
struct oid_array *commons)
{ … }
int send_pack(struct send_pack_args *args,
int fd[], struct child_process *conn,
struct ref *remote_refs,
struct oid_array *extra_have)
{ … }