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

Re: [PATCH 3/3] Fix commit-msg hook to allow editing

From
Wincent Colaiuta <win@wincent.com>
Date
Dec 9, 2007, 12:22 UTC
Message-ID
<5B3413C6-48E3-44CD-9577-622C9A93230A@wincent.com>
In-Reply-To
<7vtzmss58h.fsf@gitster.siamese.dyndns.org>
El 9/12/2007, a las 8:21, Junio C Hamano escribió:
Show 49 quoted lines
> IOW, how about something like this?
>
> ---
>
> builtin-commit.c |    9 +++++----
> builtin-tag.c    |    2 ++
> 2 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/builtin-commit.c b/builtin-commit.c
> index 2032ca3..30a9deb 100644
> --- a/builtin-commit.c
> +++ b/builtin-commit.c
> @@ -787,16 +787,17 @@ int cmd_commit(int argc, const char **argv,  
> const char *prefix)
> 		char index[PATH_MAX];
> 		const char *env[2] = { index, NULL };
> 		snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", index_file);
> -		launch_editor(git_path(commit_editmsg), &sb, env);
> -	} else if (strbuf_read_file(&sb, git_path(commit_editmsg), 0) < 0) {
> -		rollback_index_files();
> -		die("could not read commit message");
> +		launch_editor(git_path(commit_editmsg), NULL, env);
> 	}
> 	if (!no_verify &&
> 	    run_hook(index_file, "commit-msg", git_path(commit_editmsg))) {
> 		rollback_index_files();
> 		exit(1);
> 	}
> +	if (strbuf_read_file(&sb, git_path(commit_editmsg), 0) < 0) {
> +		rollback_index_files();
> +		die("could not read commit message");
> +	}
>
> 	/* Truncate the message just before the diff, if any. */
> 	p = strstr(sb.buf, "\ndiff --git a/");
> diff --git a/builtin-tag.c b/builtin-tag.c
> index 729389b..9f966fc 100644
> --- a/builtin-tag.c
> +++ b/builtin-tag.c
> @@ -53,6 +53,8 @@ void launch_editor(const char *path, struct strbuf  
> *buffer, const char *const *e
> 			die("There was a problem with the editor %s.", editor);
> 	}
>
> +	if (!buffer)
> +		return;
> 	if (strbuf_read_file(buffer, path, 0) < 0)
> 		die("could not read message file '%s': %s",
> 		    path, strerror(errno));

Excellent. Reads much better. I hadn't considered changing the strbuf API, but looking at the callers of launch_editor this is a safe change. Ack.

Cheers, Wincent

Previous: Junio C HamanoNext: Wincent Colaiuta
Message 6 of 8 in “builtin-commit fixes”
  1. 0/3 builtin-commit fixesWincent Colaiuta, Dec 8, 2007
  2. 1/3 Allow --no-verify to bypass commit-msg hookWincent Colaiuta, Dec 8, 2007
  3. 2/3 Documentation: fix --no-verify documentation for "git commit"Wincent Colaiuta, Dec 8, 2007
  4. 3/3 Fix commit-msg hook to allow editingWincent Colaiuta, Dec 8, 2007
  5. Junio C HamanoDec 9, 2007
  6. Wincent ColaiutaDec 9, 2007
  7. 4/4 Add tests for pre-commit and commit-msg hooksWincent Colaiuta, Dec 8, 2007
  8. Wincent ColaiutaDec 8, 2007

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.