summaryrefslogtreecommitdiff
path: root/t/helper/test-advise.c
diff options
context:
space:
mode:
authorHeba Waly <heba.waly@gmail.com>2020-03-02 20:01:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-03-05 14:15:02 (GMT)
commitb3b18d1621315fb187689ee6c759bdbbea214eb8 (patch)
tree71cdc12a22546b811b17a8b73e8c8e9ec349d3f9 /t/helper/test-advise.c
parentfef0c76f1802c42f1d1f3b6344deb182a3600625 (diff)
downloadgit-b3b18d1621315fb187689ee6c759bdbbea214eb8.zip
git-b3b18d1621315fb187689ee6c759bdbbea214eb8.tar.gz
git-b3b18d1621315fb187689ee6c759bdbbea214eb8.tar.bz2
advice: revamp advise API
Currently it's very easy for the advice library's callers to miss checking the visibility step before printing an advice. Also, it makes more sense for this step to be handled by the advice library. Add a new advise_if_enabled function that checks the visibility of advice messages before printing. Add a new helper advise_enabled to check the visibility of the advice if the caller needs to carry out complicated processing based on that value. A list of advice_settings is added to cache the config variables names and values, it's intended to replace advice_config[] and the global variables once we migrate all the callers to use the new APIs. Signed-off-by: Heba Waly <heba.waly@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper/test-advise.c')
-rw-r--r--t/helper/test-advise.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/helper/test-advise.c b/t/helper/test-advise.c
new file mode 100644
index 0000000..38cdc28
--- /dev/null
+++ b/t/helper/test-advise.c
@@ -0,0 +1,22 @@
+#include "test-tool.h"
+#include "cache.h"
+#include "advice.h"
+#include "config.h"
+
+int cmd__advise_if_enabled(int argc, const char **argv)
+{
+ if (!argv[1])
+ die("usage: %s <advice>", argv[0]);
+
+ setup_git_directory();
+ git_config(git_default_config, NULL);
+
+ /*
+ * Any advice type can be used for testing, but NESTED_TAG was
+ * selected here and in t0018 where this command is being
+ * executed.
+ */
+ advise_if_enabled(ADVICE_NESTED_TAG, argv[1]);
+
+ return 0;
+}