Git fork
at reftables-rust 87 lines 2.6 kB view raw
1#ifndef ADVICE_H 2#define ADVICE_H 3 4struct string_list; 5 6/* 7 * To add a new advice, you need to: 8 * Define a new advice_type. 9 * Add a new entry to advice_setting array. 10 * Add the new config variable to Documentation/config/advice.adoc. 11 * Call advise_if_enabled to print your advice. 12 */ 13enum advice_type { 14 ADVICE_ADD_EMBEDDED_REPO, 15 ADVICE_ADD_EMPTY_PATHSPEC, 16 ADVICE_ADD_IGNORED_FILE, 17 ADVICE_AMBIGUOUS_FETCH_REFSPEC, 18 ADVICE_AM_WORK_DIR, 19 ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME, 20 ADVICE_COMMIT_BEFORE_MERGE, 21 ADVICE_DEFAULT_BRANCH_NAME, /* To be retired sometime after Git 3.0 */ 22 ADVICE_DETACHED_HEAD, 23 ADVICE_DIVERGING, 24 ADVICE_FETCH_SET_HEAD_WARN, 25 ADVICE_FETCH_SHOW_FORCED_UPDATES, 26 ADVICE_FORCE_DELETE_BRANCH, 27 ADVICE_GRAFT_FILE_DEPRECATED, 28 ADVICE_IGNORED_HOOK, 29 ADVICE_IMPLICIT_IDENTITY, 30 ADVICE_MERGE_CONFLICT, 31 ADVICE_NESTED_TAG, 32 ADVICE_OBJECT_NAME_WARNING, 33 ADVICE_PUSH_ALREADY_EXISTS, 34 ADVICE_PUSH_FETCH_FIRST, 35 ADVICE_PUSH_NEEDS_FORCE, 36 ADVICE_PUSH_NON_FF_CURRENT, 37 ADVICE_PUSH_NON_FF_MATCHING, 38 ADVICE_PUSH_REF_NEEDS_UPDATE, 39 ADVICE_PUSH_UNQUALIFIED_REF_NAME, 40 ADVICE_PUSH_UPDATE_REJECTED, 41 ADVICE_PUSH_UPDATE_REJECTED_ALIAS, 42 ADVICE_REBASE_TODO_ERROR, 43 ADVICE_REF_SYNTAX, 44 ADVICE_RESET_NO_REFRESH_WARNING, 45 ADVICE_RESOLVE_CONFLICT, 46 ADVICE_RM_HINTS, 47 ADVICE_SEQUENCER_IN_USE, 48 ADVICE_SET_UPSTREAM_FAILURE, 49 ADVICE_SKIPPED_CHERRY_PICKS, 50 ADVICE_SPARSE_INDEX_EXPANDED, 51 ADVICE_STATUS_AHEAD_BEHIND_WARNING, 52 ADVICE_STATUS_HINTS, 53 ADVICE_STATUS_U_OPTION, 54 ADVICE_SUBMODULES_NOT_UPDATED, 55 ADVICE_SUBMODULE_ALTERNATE_ERROR_STRATEGY_DIE, 56 ADVICE_SUBMODULE_MERGE_CONFLICT, 57 ADVICE_SUGGEST_DETACHING_HEAD, 58 ADVICE_UPDATE_SPARSE_PATH, 59 ADVICE_WAITING_FOR_EDITOR, 60 ADVICE_WORKTREE_ADD_ORPHAN, 61}; 62 63int git_default_advice_config(const char *var, const char *value); 64__attribute__((format (printf, 1, 2))) 65void advise(const char *advice, ...); 66 67/** 68 * Checks if advice type is enabled (can be printed to the user). 69 * Should be called before advise(). 70 */ 71int advice_enabled(enum advice_type type); 72 73/** 74 * Checks the visibility of the advice before printing. 75 */ 76__attribute__((format (printf, 2, 3))) 77void advise_if_enabled(enum advice_type type, const char *advice, ...); 78 79int error_resolve_conflict(const char *me); 80void NORETURN die_resolve_conflict(const char *me); 81void NORETURN die_conclude_merge(void); 82void NORETURN die_ff_impossible(void); 83void advise_on_updating_sparse_paths(struct string_list *pathspec_list); 84void detach_advice(const char *new_name); 85void advise_on_moving_dirty_path(struct string_list *pathspec_list); 86 87#endif /* ADVICE_H */