#define USE_THE_REPOSITORY_VARIABLE
#include "builtin.h"
#include "config.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "object-store-ll.h"
#include "tree.h"
#include "path.h"
#include "quote.h"
#include "parse-options.h"
#include "pathspec.h"
static const char * const ls_tree_usage[] = …;
static void expand_objectsize(struct strbuf *line, const struct object_id *oid,
const enum object_type type, unsigned int padded)
{ … }
struct ls_tree_options { … };
static int show_recursive(struct ls_tree_options *options, const char *base,
size_t baselen, const char *pathname)
{ … }
static int show_tree_fmt(const struct object_id *oid, struct strbuf *base,
const char *pathname, unsigned mode, void *context)
{ … }
static int show_tree_common(struct ls_tree_options *options, int *recurse,
struct strbuf *base, const char *pathname,
enum object_type type)
{ … }
static void show_tree_common_default_long(struct ls_tree_options *options,
struct strbuf *base,
const char *pathname,
const size_t baselen)
{ … }
static int show_tree_default(const struct object_id *oid, struct strbuf *base,
const char *pathname, unsigned mode,
void *context)
{ … }
static int show_tree_long(const struct object_id *oid, struct strbuf *base,
const char *pathname, unsigned mode,
void *context)
{ … }
static int show_tree_name_only(const struct object_id *oid UNUSED,
struct strbuf *base,
const char *pathname, unsigned mode,
void *context)
{ … }
static int show_tree_object(const struct object_id *oid, struct strbuf *base,
const char *pathname, unsigned mode,
void *context)
{ … }
enum ls_tree_cmdmode { … };
struct ls_tree_cmdmode_to_fmt { … };
static struct ls_tree_cmdmode_to_fmt ls_tree_cmdmode_format[] = …;
int cmd_ls_tree(int argc,
const char **argv,
const char *prefix,
struct repository *repo UNUSED)
{ … }