aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2025-06-20 17:56:14 +0200
committerJunio C Hamano <gitster@pobox.com>2025-06-20 14:14:44 -0700
commitd30bf28d09d4d13ca7984d8593522be22f698f8a (patch)
treea53c4b74d384c6a7540a08a5731a5f2c99e64e6e
parentimap-send: fix confusing 'store' terminology in error message (diff)
downloadgit-d30bf28d09d4d13ca7984d8593522be22f698f8a.tar.gz
git-d30bf28d09d4d13ca7984d8593522be22f698f8a.zip
imap-send: improve error messages with configuration hints
Replace basic error messages with more helpful ones that guide users on how to resolve configuration issues. When imap.host or imap.folder are missing, provide the exact git config commands needed to fix the problem, along with examples of typical values. Use the advise() API to display hints in a multi-line format with proper "hint:" prefixes for each line. Signed-off-by: Jörg Thalheim <joerg@thalheim.io> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--imap-send.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/imap-send.c b/imap-send.c
index 4b63d9ca41..f5a656ac71 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -25,6 +25,7 @@
#define DISABLE_SIGN_COMPARE_WARNINGS
#include "git-compat-util.h"
+#include "advice.h"
#include "config.h"
#include "credential.h"
#include "gettext.h"
@@ -1804,7 +1805,9 @@ int cmd_main(int argc, const char **argv)
if (!server.host) {
if (!server.tunnel) {
- fprintf(stderr, "no IMAP host specified\n");
+ error(_("no IMAP host specified"));
+ advise(_("set the IMAP host with 'git config imap.host <host>'.\n"
+ "(e.g., 'git config imap.host imaps://imap.example.com')"));
ret = 1;
goto out;
}
@@ -1824,7 +1827,9 @@ int cmd_main(int argc, const char **argv)
}
if (!server.folder) {
- fprintf(stderr, "no IMAP folder specified\n");
+ error(_("no IMAP folder specified"));
+ advise(_("set the target folder with 'git config imap.folder <folder>'.\n"
+ "(e.g., 'git config imap.folder Drafts')"));
ret = 1;
goto out;
}