add-patch: split out header from "add-interactive.h"

While we have a "add-patch.c" code file, its declarations are part of
"add-interactive.h". This makes it somewhat harder than necessary to
find relevant code and to identify clear boundaries between the two
subsystems.

Split up concerns and move declarations that relate to "add-patch.c"
into a new "add-patch.h" header.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2026-03-02 13:13:05 +01:00
committed by Junio C Hamano
parent 50d063e335
commit 6e4d923267
3 changed files with 31 additions and 21 deletions

View File

@@ -1,15 +1,11 @@
#ifndef ADD_INTERACTIVE_H
#define ADD_INTERACTIVE_H
#include "add-patch.h"
#include "color.h"
struct add_p_opt {
int context;
int interhunkcontext;
int auto_advance;
};
#define ADD_P_OPT_INIT { .context = -1, .interhunkcontext = -1, .auto_advance = 1 }
struct pathspec;
struct repository;
struct add_i_state {
struct repository *r;
@@ -37,21 +33,7 @@ void init_add_i_state(struct add_i_state *s, struct repository *r,
struct add_p_opt *add_p_opt);
void clear_add_i_state(struct add_i_state *s);
struct repository;
struct pathspec;
int run_add_i(struct repository *r, const struct pathspec *ps,
struct add_p_opt *add_p_opt);
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 add_p_opt *o, const char *revision,
const struct pathspec *ps);
#endif

View File

@@ -3,6 +3,7 @@
#include "git-compat-util.h"
#include "add-interactive.h"
#include "add-patch.h"
#include "advice.h"
#include "editor.h"
#include "environment.h"

27
add-patch.h Normal file
View File

@@ -0,0 +1,27 @@
#ifndef ADD_PATCH_H
#define ADD_PATCH_H
struct pathspec;
struct repository;
struct add_p_opt {
int context;
int interhunkcontext;
int auto_advance;
};
#define ADD_P_OPT_INIT { .context = -1, .interhunkcontext = -1, .auto_advance = 1 }
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 add_p_opt *o, const char *revision,
const struct pathspec *ps);
#endif