mirror of
https://github.com/git/git.git
synced 2026-03-05 14:59:04 +01:00
With `run_add_p()` callers have the ability to apply changes from a specific revision to a repository's index. This infra supports several different modes, like for example applying changes to the index, working tree or both. One feature that is missing though is the ability to apply changes to an in-memory index different from the repository's index. Add a new function `run_add_p_index()` to plug this gap. This new function will be used in a subsequent commit. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
#ifndef ADD_PATCH_H
|
|
#define ADD_PATCH_H
|
|
|
|
#include "color.h"
|
|
|
|
struct index_state;
|
|
struct pathspec;
|
|
struct repository;
|
|
|
|
struct interactive_options {
|
|
int context;
|
|
int interhunkcontext;
|
|
int auto_advance;
|
|
};
|
|
|
|
#define INTERACTIVE_OPTIONS_INIT { \
|
|
.context = -1, \
|
|
.interhunkcontext = -1, \
|
|
.auto_advance = 1, \
|
|
}
|
|
|
|
struct interactive_config {
|
|
enum git_colorbool use_color_interactive;
|
|
enum git_colorbool use_color_diff;
|
|
char header_color[COLOR_MAXLEN];
|
|
char help_color[COLOR_MAXLEN];
|
|
char prompt_color[COLOR_MAXLEN];
|
|
char error_color[COLOR_MAXLEN];
|
|
char reset_color_interactive[COLOR_MAXLEN];
|
|
|
|
char fraginfo_color[COLOR_MAXLEN];
|
|
char context_color[COLOR_MAXLEN];
|
|
char file_old_color[COLOR_MAXLEN];
|
|
char file_new_color[COLOR_MAXLEN];
|
|
char reset_color_diff[COLOR_MAXLEN];
|
|
|
|
int use_single_key;
|
|
char *interactive_diff_filter, *interactive_diff_algorithm;
|
|
int context, interhunkcontext;
|
|
int auto_advance;
|
|
};
|
|
|
|
void interactive_config_init(struct interactive_config *cfg,
|
|
struct repository *r,
|
|
struct interactive_options *opts);
|
|
void interactive_config_clear(struct interactive_config *cfg);
|
|
|
|
enum add_p_mode {
|
|
ADD_P_ADD,
|
|
ADD_P_STASH,
|
|
ADD_P_RESET,
|
|
ADD_P_CHECKOUT,
|
|
ADD_P_WORKTREE,
|
|
};
|
|
|
|
int run_add_p(struct repository *r, enum add_p_mode mode,
|
|
struct interactive_options *opts, const char *revision,
|
|
const struct pathspec *ps);
|
|
|
|
int run_add_p_index(struct repository *r,
|
|
struct index_state *index,
|
|
const char *index_file,
|
|
struct interactive_options *opts,
|
|
const char *revision,
|
|
const struct pathspec *ps);
|
|
|
|
#endif
|