git/pseudo-merge.c

#define USE_THE_REPOSITORY_VARIABLE

#include "git-compat-util.h"
#include "pseudo-merge.h"
#include "date.h"
#include "oid-array.h"
#include "strbuf.h"
#include "config.h"
#include "string-list.h"
#include "refs.h"
#include "pack-bitmap.h"
#include "commit.h"
#include "alloc.h"
#include "progress.h"
#include "hex.h"

#define DEFAULT_PSEUDO_MERGE_DECAY
#define DEFAULT_PSEUDO_MERGE_MAX_MERGES
#define DEFAULT_PSEUDO_MERGE_SAMPLE_RATE
#define DEFAULT_PSEUDO_MERGE_THRESHOLD
#define DEFAULT_PSEUDO_MERGE_STABLE_THRESHOLD
#define DEFAULT_PSEUDO_MERGE_STABLE_SIZE

static double gitexp(double base, int exp)
{}

static uint32_t pseudo_merge_group_size(const struct pseudo_merge_group *group,
					const struct pseudo_merge_matches *matches,
					uint32_t i)
{}

static void pseudo_merge_group_init(struct pseudo_merge_group *group)
{}

void pseudo_merge_group_release(struct pseudo_merge_group *group)
{}

static int pseudo_merge_config(const char *var, const char *value,
			       const struct config_context *ctx,
			       void *cb_data)
{}

void load_pseudo_merges_from_config(struct repository *r,
				    struct string_list *list)
{}

static int find_pseudo_merge_group_for_ref(const char *refname,
					   const char *referent UNUSED,
					   const struct object_id *oid,
					   int flags UNUSED,
					   void *_data)
{}

static struct commit *push_pseudo_merge(struct pseudo_merge_group *group)
{}

static struct pseudo_merge_commit_idx *pseudo_merge_idx(kh_oid_map_t *pseudo_merge_commits,
							const struct object_id *oid)

{}

#define MIN_PSEUDO_MERGE_SIZE

static void select_pseudo_merges_1(struct bitmap_writer *writer,
				   struct pseudo_merge_group *group,
				   struct pseudo_merge_matches *matches)
{}

static int commit_date_cmp(const void *va, const void *vb)
{}

static void sort_pseudo_merge_matches(struct pseudo_merge_matches *matches)
{}

void select_pseudo_merges(struct bitmap_writer *writer)
{}

void free_pseudo_merge_map(struct pseudo_merge_map *pm)
{}

struct pseudo_merge_commit_ext {};

static int pseudo_merge_ext_at(const struct pseudo_merge_map *pm,
			       struct pseudo_merge_commit_ext *ext, size_t at)
{}

struct ewah_bitmap *pseudo_merge_bitmap(const struct pseudo_merge_map *pm,
					struct pseudo_merge *merge)
{}

struct pseudo_merge *use_pseudo_merge(const struct pseudo_merge_map *pm,
				      struct pseudo_merge *merge)
{}

static struct pseudo_merge *pseudo_merge_at(const struct pseudo_merge_map *pm,
					    struct object_id *oid,
					    size_t want)
{}

struct pseudo_merge_commit {};

#define PSEUDO_MERGE_COMMIT_RAWSZ

static void read_pseudo_merge_commit_at(struct pseudo_merge_commit *merge,
					const unsigned char *at)
{}

static int nth_pseudo_merge_ext(const struct pseudo_merge_map *pm,
				struct pseudo_merge_commit_ext *ext,
				struct pseudo_merge_commit *merge,
				uint32_t n)
{}

static unsigned apply_pseudo_merge(const struct pseudo_merge_map *pm,
				   struct pseudo_merge *merge,
				   struct bitmap *result,
				   struct bitmap *roots)
{}

static int pseudo_merge_commit_cmp(const void *va, const void *vb)
{}

static struct pseudo_merge_commit *find_pseudo_merge(const struct pseudo_merge_map *pm,
						     uint32_t pos)
{}

int apply_pseudo_merges_for_commit(const struct pseudo_merge_map *pm,
				   struct bitmap *result,
				   struct commit *commit, uint32_t commit_pos)
{}

int cascade_pseudo_merges(const struct pseudo_merge_map *pm,
			  struct bitmap *result,
			  struct bitmap *roots)
{}

struct pseudo_merge *pseudo_merge_for_parents(const struct pseudo_merge_map *pm,
					      struct bitmap *parents)
{}