git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] help.autocorrect prompt

From
David Barr <david.barr@cordelta.com>
Date
Sep 6, 2010, 07:27 UTC
Message-ID
<1283758030-13345-1-git-send-email-david.barr@cordelta.com>
In-Reply-To
<20100906025949.GA23594@burratino>

Added a new configuration value for help.autocorrect. A value of 'prompt' causes git to wait for confirmation before executing the assumed command.

Signed-off-by: David Barr <david.barr@cordelta.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 help.c |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/help.c b/help.c
index 7f4928e..2282885 100644
--- a/help.c
+++ b/help.c
@@ -267,8 +267,12 @@ static struct cmdnames aliases;
 
 static int git_unknown_cmd_config(const char *var, const char *value, void *cb)
 {
-	if (!strcmp(var, "help.autocorrect"))
-		autocorrect = git_config_int(var,value);
+	if (!strcmp(var, "help.autocorrect")) {
+		if (!strcmp(value, "prompt"))
+			autocorrect = INT_MAX;
+		else
+			autocorrect = git_config_int(var,value);
+	}
 	/* Also use aliases for command lookup */
 	if (!prefixcmp(var, "alias."))
 		add_cmdname(&aliases, var + 6, strlen(var + 6));
@@ -342,7 +346,16 @@ const char *help_unknown_cmd(const char *cmd)
 			"which does not exist.\n"
 			"Continuing under the assumption that you meant '%s'\n",
 			cmd, assumed);
-		if (autocorrect > 0) {
+		if (autocorrect == INT_MAX) {
+			char answer[3];
+			if (!isatty(STDIN_FILENO) || !isatty(STDERR_FILENO))
+				exit(1);
+			fprintf(stderr, "Continue? (y/n) ");
+			if (!fgets(answer, sizeof(answer), stdin))
+				exit(1);
+			if (*answer != 'y' && *answer != 'Y')
+				exit(1);
+		} else if (autocorrect > 0) {
 			fprintf(stderr, "in %0.1f seconds automatically...\n",
 				(float)autocorrect/10.0);
 			poll(NULL, 0, autocorrect * 100);
-- 
1.7.2.3.392.g02377.dirty
Previous: David Barr
Message 4 of 4 in “RFC: help.autocorrect prompt”
  1. RFC: help.autocorrect promptDavid Barr, Sep 6, 2010
  2. Jonathan NiederSep 6, 2010
  3. David BarrSep 6, 2010
  4. help.autocorrect promptDavid Barr, Sep 6, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.