diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:49:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:49:36 +0000 |
commit | 5ec6074f0633939fd17d94111d10c6c6b062978c (patch) | |
tree | bfaa17b5a64abc66c918e9c70969e519d9e1df8e /advice.h | |
parent | Initial commit. (diff) | |
download | git-upstream/1%2.30.2.tar.xz git-upstream/1%2.30.2.zip |
Adding upstream version 1:2.30.2.upstream/1%2.30.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'advice.h')
-rw-r--r-- | advice.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/advice.h b/advice.h new file mode 100644 index 0000000..bc24329 --- /dev/null +++ b/advice.h @@ -0,0 +1,97 @@ +#ifndef ADVICE_H +#define ADVICE_H + +#include "git-compat-util.h" + +extern int advice_fetch_show_forced_updates; +extern int advice_push_update_rejected; +extern int advice_push_non_ff_current; +extern int advice_push_non_ff_matching; +extern int advice_push_already_exists; +extern int advice_push_fetch_first; +extern int advice_push_needs_force; +extern int advice_push_unqualified_ref_name; +extern int advice_push_ref_needs_update; +extern int advice_status_hints; +extern int advice_status_u_option; +extern int advice_status_ahead_behind_warning; +extern int advice_commit_before_merge; +extern int advice_reset_quiet_warning; +extern int advice_resolve_conflict; +extern int advice_sequencer_in_use; +extern int advice_implicit_identity; +extern int advice_detached_head; +extern int advice_set_upstream_failure; +extern int advice_object_name_warning; +extern int advice_amworkdir; +extern int advice_rm_hints; +extern int advice_add_embedded_repo; +extern int advice_ignored_hook; +extern int advice_waiting_for_editor; +extern int advice_graft_file_deprecated; +extern int advice_checkout_ambiguous_remote_branch_name; +extern int advice_submodule_alternate_error_strategy_die; +extern int advice_add_ignored_file; +extern int advice_add_empty_pathspec; + +/* + * To add a new advice, you need to: + * Define a new advice_type. + * Add a new entry to advice_setting array. + * Add the new config variable to Documentation/config/advice.txt. + * Call advise_if_enabled to print your advice. + */ + enum advice_type { + ADVICE_ADD_EMBEDDED_REPO, + ADVICE_AM_WORK_DIR, + ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME, + ADVICE_COMMIT_BEFORE_MERGE, + ADVICE_DETACHED_HEAD, + ADVICE_FETCH_SHOW_FORCED_UPDATES, + ADVICE_GRAFT_FILE_DEPRECATED, + ADVICE_IGNORED_HOOK, + ADVICE_IMPLICIT_IDENTITY, + ADVICE_NESTED_TAG, + ADVICE_OBJECT_NAME_WARNING, + ADVICE_PUSH_ALREADY_EXISTS, + ADVICE_PUSH_FETCH_FIRST, + ADVICE_PUSH_NEEDS_FORCE, + ADVICE_PUSH_NON_FF_CURRENT, + ADVICE_PUSH_NON_FF_MATCHING, + ADVICE_PUSH_UNQUALIFIED_REF_NAME, + ADVICE_PUSH_UPDATE_REJECTED_ALIAS, + ADVICE_PUSH_UPDATE_REJECTED, + ADVICE_PUSH_REF_NEEDS_UPDATE, + ADVICE_RESET_QUIET_WARNING, + ADVICE_RESOLVE_CONFLICT, + ADVICE_RM_HINTS, + ADVICE_SEQUENCER_IN_USE, + ADVICE_SET_UPSTREAM_FAILURE, + ADVICE_STATUS_AHEAD_BEHIND_WARNING, + ADVICE_STATUS_HINTS, + ADVICE_STATUS_U_OPTION, + ADVICE_SUBMODULE_ALTERNATE_ERROR_STRATEGY_DIE, + ADVICE_WAITING_FOR_EDITOR, +}; + +int git_default_advice_config(const char *var, const char *value); +__attribute__((format (printf, 1, 2))) +void advise(const char *advice, ...); + +/** + * Checks if advice type is enabled (can be printed to the user). + * Should be called before advise(). + */ +int advice_enabled(enum advice_type type); + +/** + * Checks the visibility of the advice before printing. + */ +void advise_if_enabled(enum advice_type type, const char *advice, ...); + +int error_resolve_conflict(const char *me); +void NORETURN die_resolve_conflict(const char *me); +void NORETURN die_conclude_merge(void); +void detach_advice(const char *new_name); + +#endif /* ADVICE_H */ |