#include "builtin.h"
#include "advice.h"
#include "config.h"
#include "lockfile.h"
#include "editor.h"
#include "dir.h"
#include "gettext.h"
#include "pathspec.h"
#include "run-command.h"
#include "parse-options.h"
#include "path.h"
#include "preload-index.h"
#include "diff.h"
#include "read-cache.h"
#include "repository.h"
#include "revision.h"
#include "bulk-checkin.h"
#include "strvec.h"
#include "submodule.h"
#include "add-interactive.h"
static const char * const builtin_add_usage[] = …;
static int patch_interactive, add_interactive, edit_interactive;
static int take_worktree_changes;
static int add_renormalize;
static int pathspec_file_nul;
static int include_sparse;
static const char *pathspec_from_file;
static int chmod_pathspec(struct pathspec *pathspec, char flip, int show_only)
{ … }
static int renormalize_tracked_files(const struct pathspec *pathspec, int flags)
{ … }
static char *prune_directory(struct dir_struct *dir, struct pathspec *pathspec, int prefix)
{ … }
static int refresh(int verbose, const struct pathspec *pathspec)
{ … }
int interactive_add(const char **argv, const char *prefix, int patch)
{ … }
static int edit_patch(int argc, const char **argv, const char *prefix)
{ … }
static const char ignore_error[] = …);
static int verbose, show_only, ignored_too, refresh_only;
static int ignore_add_errors, intent_to_add, ignore_missing;
static int warn_on_embedded_repo = …;
#define ADDREMOVE_DEFAULT …
static int addremove = …;
static int addremove_explicit = …;
static char *chmod_arg;
static int ignore_removal_cb(const struct option *opt, const char *arg, int unset)
{ … }
static struct option builtin_add_options[] = …;
static int add_config(const char *var, const char *value,
const struct config_context *ctx, void *cb)
{ … }
static const char embedded_advice[] = …
);
static void check_embedded_repo(const char *path)
{ … }
static int add_files(struct dir_struct *dir, int flags)
{ … }
int cmd_add(int argc, const char **argv, const char *prefix)
{ … }