git/transport.c

#define USE_THE_REPOSITORY_VARIABLE

#include "git-compat-util.h"
#include "advice.h"
#include "config.h"
#include "environment.h"
#include "hex.h"
#include "transport.h"
#include "hook.h"
#include "pkt-line.h"
#include "fetch-pack.h"
#include "remote.h"
#include "connect.h"
#include "send-pack.h"
#include "bundle.h"
#include "gettext.h"
#include "refs.h"
#include "refspec.h"
#include "branch.h"
#include "url.h"
#include "submodule.h"
#include "string-list.h"
#include "oid-array.h"
#include "sigchain.h"
#include "trace2.h"
#include "transport-internal.h"
#include "protocol.h"
#include "object-name.h"
#include "color.h"
#include "bundle-uri.h"

static int transport_use_color =;
static char transport_colors[][COLOR_MAXLEN] =;

enum color_transport {};

static int transport_color_config(void)
{}

static const char *transport_get_color(enum color_transport ix)
{}

static void set_upstreams(struct transport *transport, struct ref *refs,
	int pretend)
{}

struct bundle_transport_data {};

static void get_refs_from_bundle_inner(struct transport *transport)
{}

static struct ref *get_refs_from_bundle(struct transport *transport,
					int for_push,
					struct transport_ls_refs_options *transport_options UNUSED)
{}

static int fetch_refs_from_bundle(struct transport *transport,
				  int nr_heads UNUSED,
				  struct ref **to_fetch UNUSED)
{}

static int close_bundle(struct transport *transport)
{}

struct git_transport_data {};

static int set_git_option(struct git_transport_options *opts,
			  const char *name, const char *value)
{}

static int connect_setup(struct transport *transport, int for_push)
{}

static void die_if_server_options(struct transport *transport)
{}

/*
 * Obtains the protocol version from the transport and writes it to
 * transport->data->version, first connecting if not already connected.
 *
 * If the protocol version is one that allows skipping the listing of remote
 * refs, and must_list_refs is 0, the listing of remote refs is skipped and
 * this function returns NULL. Otherwise, this function returns the list of
 * remote refs.
 */
static struct ref *handshake(struct transport *transport, int for_push,
			     struct transport_ls_refs_options *options,
			     int must_list_refs)
{}

static struct ref *get_refs_via_connect(struct transport *transport, int for_push,
					struct transport_ls_refs_options *options)
{}

static int get_bundle_uri(struct transport *transport)
{}

static int fetch_refs_via_pack(struct transport *transport,
			       int nr_heads, struct ref **to_fetch)
{}

static int push_had_errors(struct ref *ref)
{}

int transport_refs_pushed(struct ref *ref)
{}

static void update_one_tracking_ref(struct remote *remote, char *refname,
				    struct object_id *new_oid, int deletion,
				    int verbose)
{}

void transport_update_tracking_ref(struct remote *remote, struct ref *ref, int verbose)
{}

static void print_ref_status(char flag, const char *summary,
			     struct ref *to, struct ref *from, const char *msg,
			     struct ref_push_report *report,
			     int porcelain, int summary_width)
{}

static void print_ok_ref_status(struct ref *ref,
				struct ref_push_report *report,
				int porcelain, int summary_width)
{}

static int print_one_push_report(struct ref *ref, const char *dest, int count,
				 struct ref_push_report *report,
				 int porcelain, int summary_width)
{}

static int print_one_push_status(struct ref *ref, const char *dest, int count,
				 int porcelain, int summary_width)
{}

static int measure_abbrev(const struct object_id *oid, int sofar)
{}

int transport_summary_width(const struct ref *refs)
{}

void transport_print_push_status(const char *dest, struct ref *refs,
				  int verbose, int porcelain, unsigned int *reject_reasons)
{}

static int git_transport_push(struct transport *transport, struct ref *remote_refs, int flags)
{}

static int connect_git(struct transport *transport, const char *name,
		       const char *executable, int fd[2])
{}

static int disconnect_git(struct transport *transport)
{}

static struct transport_vtable taken_over_vtable =;

void transport_take_over(struct transport *transport,
			 struct child_process *child)
{}

static int is_file(const char *url)
{}

static int external_specification_len(const char *url)
{}

static const struct string_list *protocol_allow_list(void)
{}

enum protocol_allow_config {};

static enum protocol_allow_config parse_protocol_config(const char *key,
							const char *value)
{}

static enum protocol_allow_config get_protocol_config(const char *type)
{}

int is_transport_allowed(const char *type, int from_user)
{}

int parse_transport_option(const char *var, const char *value,
			   struct string_list *transport_options)
{}

void transport_check_allowed(const char *type)
{}

static struct transport_vtable bundle_vtable =;

static struct transport_vtable builtin_smart_vtable =;

struct transport *transport_get(struct remote *remote, const char *url)
{}

const struct git_hash_algo *transport_get_hash_algo(struct transport *transport)
{}

int transport_set_option(struct transport *transport,
			 const char *name, const char *value)
{}

void transport_set_verbosity(struct transport *transport, int verbosity,
	int force_progress)
{}

static void die_with_unpushed_submodules(struct string_list *needs_pushing)
{}

static int run_pre_push_hook(struct transport *transport,
			     struct ref *remote_refs)
{}

int transport_push(struct repository *r,
		   struct transport *transport,
		   struct refspec *rs, int flags,
		   unsigned int *reject_reasons)
{}

const struct ref *transport_get_remote_refs(struct transport *transport,
					    struct transport_ls_refs_options *transport_options)
{}

void transport_ls_refs_options_release(struct transport_ls_refs_options *opts)
{}

int transport_fetch_refs(struct transport *transport, struct ref *refs)
{}

int transport_get_remote_bundle_uri(struct transport *transport)
{}

void transport_unlock_pack(struct transport *transport, unsigned int flags)
{}

int transport_connect(struct transport *transport, const char *name,
		      const char *exec, int fd[2])
{}

int transport_disconnect(struct transport *transport)
{}

/*
 * Strip username (and password) from a URL and return
 * it in a newly allocated string.
 */
char *transport_anonymize_url(const char *url)
{}