#define USE_THE_REPOSITORY_VARIABLE
#include "builtin.h"
#include "config.h"
#include "ewah/ewok.h"
#include "lockfile.h"
#include "color.h"
#include "commit.h"
#include "gettext.h"
#include "tag.h"
#include "diff.h"
#include "diff-merges.h"
#include "diffcore.h"
#include "preload-index.h"
#include "read-cache-ll.h"
#include "revision.h"
#include "log-tree.h"
#include "setup.h"
#include "oid-array.h"
#include "tree.h"
#define DIFF_NO_INDEX_EXPLICIT …
#define DIFF_NO_INDEX_IMPLICIT …
static const char builtin_diff_usage[] = …;
static const char *blob_path(struct object_array_entry *entry)
{ … }
static void stuff_change(struct diff_options *opt,
unsigned old_mode, unsigned new_mode,
const struct object_id *old_oid,
const struct object_id *new_oid,
int old_oid_valid,
int new_oid_valid,
const char *old_path,
const char *new_path)
{ … }
static void builtin_diff_b_f(struct rev_info *revs,
int argc, const char **argv UNUSED,
struct object_array_entry **blob)
{ … }
static void builtin_diff_blobs(struct rev_info *revs,
int argc, const char **argv UNUSED,
struct object_array_entry **blob)
{ … }
static void builtin_diff_index(struct rev_info *revs,
int argc, const char **argv)
{ … }
static void builtin_diff_tree(struct rev_info *revs,
int argc, const char **argv,
struct object_array_entry *ent0,
struct object_array_entry *ent1)
{ … }
static void builtin_diff_combined(struct rev_info *revs,
int argc, const char **argv UNUSED,
struct object_array_entry *ent,
int ents, int first_non_parent)
{ … }
static void refresh_index_quietly(void)
{ … }
static void builtin_diff_files(struct rev_info *revs, int argc, const char **argv)
{ … }
struct symdiff { … };
static void symdiff_prepare(struct rev_info *rev, struct symdiff *sym)
{ … }
static void symdiff_release(struct symdiff *sdiff)
{ … }
int cmd_diff(int argc,
const char **argv,
const char *prefix,
struct repository *repo UNUSED)
{ … }