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

Re: [PATCH] Make builtin-commit.c export GIT_INDEX_FILE for launch_editor as well.

From
Kristian Høgsberg <krh@redhat.com>
Date
Nov 26, 2007, 15:27 UTC
Message-ID
<1196090850.2875.13.camel@hinata.boston.redhat.com>
In-Reply-To
<20071126085927.GC23373@artemis.corp>
On Mon, 2007-11-26 at 09:59 +0100, Pierre Habouzit wrote:
> Signed-off-by: Pierre Habouzit <madcoder@debian.org>
> ---
> 
>   And here's the fix for this tiny problem …
That looks good to me.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Show 70 quoted lines
> 
> 
>  builtin-commit.c |    9 ++++++---
>  builtin-tag.c    |    6 +++---
>  strbuf.h         |    2 +-
>  3 files changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/builtin-commit.c b/builtin-commit.c
> index 5d27102..6e6b9f2 100644
> --- a/builtin-commit.c
> +++ b/builtin-commit.c
> @@ -748,9 +748,12 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
>  
>  	/* Get the commit message and validate it */
>  	header_len = sb.len;
> -	if (!no_edit)
> -		launch_editor(git_path(commit_editmsg), &sb);
> -	else if (strbuf_read_file(&sb, git_path(commit_editmsg), 0) < 0) {
> +	if (!no_edit) {
> +		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\n");
>  	}
> diff --git a/builtin-tag.c b/builtin-tag.c
> index e89b201..8cc7f9c 100644
> --- a/builtin-tag.c
> +++ b/builtin-tag.c
> @@ -23,7 +23,7 @@ static const char * const git_tag_usage[] = {
>  
>  static char signingkey[1000];
>  
> -void launch_editor(const char *path, struct strbuf *buffer)
> +void launch_editor(const char *path, struct strbuf *buffer, const char *const *env)
>  {
>  	const char *editor, *terminal;
>  
> @@ -49,7 +49,7 @@ void launch_editor(const char *path, struct strbuf *buffer)
>  	if (strcmp(editor, ":")) {
>  		const char *args[] = { editor, path, NULL };
>  
> -		if (run_command_v_opt(args, 0))
> +		if (run_command_v_opt_cd_env(args, 0, NULL, env))
>  			die("There was a problem with the editor %s.", editor);
>  	}
>  
> @@ -318,7 +318,7 @@ static void create_tag(const unsigned char *object, const char *tag,
>  			write_or_die(fd, tag_template, strlen(tag_template));
>  		close(fd);
>  
> -		launch_editor(path, buf);
> +		launch_editor(path, buf, NULL);
>  
>  		unlink(path);
>  		free(path);
> diff --git a/strbuf.h b/strbuf.h
> index 8334a9b..36d61db 100644
> --- a/strbuf.h
> +++ b/strbuf.h
> @@ -117,6 +117,6 @@ extern int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint);
>  extern int strbuf_getline(struct strbuf *, FILE *, int);
>  
>  extern void stripspace(struct strbuf *buf, int skip_comments);
> -extern void launch_editor(const char *path, struct strbuf *buffer);
> +extern void launch_editor(const char *path, struct strbuf *buffer, const char *const *env);
>  
>  #endif /* STRBUF_H */
Previous: Pierre Habouzit
Message 14 of 14 in “[RFC] best way to show diff of commit”
  1. Pierre HabouzitNov 25, 2007
  2. J. Bruce FieldsNov 25, 2007
  3. Pierre HabouzitNov 25, 2007
  4. Junio C HamanoNov 25, 2007
  5. Pierre HabouzitNov 25, 2007
  6. Junio C HamanoNov 25, 2007
  7. Pierre HabouzitNov 25, 2007
  8. David BrownNov 25, 2007
  9. Jan HudecNov 26, 2007
  10. Pierre HabouzitNov 26, 2007
  11. Pierre HabouzitNov 26, 2007
  12. Make builtin-commit.c export GIT_INDEX_FILE for launch_editor as well.Pierre Habouzit, Nov 26, 2007
  13. Pierre HabouzitNov 26, 2007
  14. Kristian HøgsbergNov 26, 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.