mirror of
https://github.com/git-for-windows/git.git
synced 2025-12-13 00:06:03 -06:00
This patch teaches the built-in `git add -p` machinery all the tricks it needs to know in order to act as the work horse for `git checkout -p`. Apart from the minor changes (slightly reworded messages, different `diff` and `apply --check` invocations), it requires a new function to actually apply the changes, as `git checkout -p` is a bit special in that respect: when the desired changes do not apply to the index, but apply to the work tree, Git does not fail straight away, but asks the user whether to apply the changes to the worktree at least. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
818 B
C
37 lines
818 B
C
#ifndef ADD_INTERACTIVE_H
|
|
#define ADD_INTERACTIVE_H
|
|
|
|
#include "color.h"
|
|
|
|
struct add_i_state {
|
|
struct repository *r;
|
|
int use_color;
|
|
char header_color[COLOR_MAXLEN];
|
|
char help_color[COLOR_MAXLEN];
|
|
char prompt_color[COLOR_MAXLEN];
|
|
char error_color[COLOR_MAXLEN];
|
|
char reset_color[COLOR_MAXLEN];
|
|
char fraginfo_color[COLOR_MAXLEN];
|
|
char context_color[COLOR_MAXLEN];
|
|
char file_old_color[COLOR_MAXLEN];
|
|
char file_new_color[COLOR_MAXLEN];
|
|
};
|
|
|
|
void init_add_i_state(struct add_i_state *s, struct repository *r);
|
|
|
|
struct repository;
|
|
struct pathspec;
|
|
int run_add_i(struct repository *r, const struct pathspec *ps);
|
|
|
|
enum add_p_mode {
|
|
ADD_P_ADD,
|
|
ADD_P_STASH,
|
|
ADD_P_RESET,
|
|
ADD_P_CHECKOUT,
|
|
};
|
|
|
|
int run_add_p(struct repository *r, enum add_p_mode mode,
|
|
const char *revision, const struct pathspec *ps);
|
|
|
|
#endif
|