Skip to content

Commit

Permalink
builtin/commit.c: memoize git-path for COMMIT_EDITMSG
Browse files Browse the repository at this point in the history
This is a follow up commit for f932729 (memoize common git-path
"constant" files, 10-Aug-2015).

The many function calls to git_path() are replaced by
git_path_commit_editmsg() and which thus eliminates the need to repeatedly
compute the location of "COMMIT_EDITMSG".

Mentored-by: Lars Schneider <larsxschneider@gmail.com>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Pranit Bauva <pranit.bauva@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
pranitbauva1997 authored and gitster committed Jun 9, 2016
1 parent 49fa3dc commit e51b0df
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions builtin/commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,9 @@ N_("If you wish to skip this commit, use:\n"
"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
"the remaining commits.\n");

static GIT_PATH_FUNC(git_path_commit_editmsg, "COMMIT_EDITMSG")

static const char *use_message_buffer;
static const char commit_editmsg[] = "COMMIT_EDITMSG";
static struct lock_file index_lock; /* real index */
static struct lock_file false_lock; /* used only for partial commits */
static enum {
Expand Down Expand Up @@ -772,9 +773,9 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
hook_arg2 = "";
}

s->fp = fopen_for_writing(git_path(commit_editmsg));
s->fp = fopen_for_writing(git_path_commit_editmsg());
if (s->fp == NULL)
die_errno(_("could not open '%s'"), git_path(commit_editmsg));
die_errno(_("could not open '%s'"), git_path_commit_editmsg());

/* Ignore status.displayCommentPrefix: we do need comments in COMMIT_EDITMSG. */
old_display_comment_prefix = s->display_comment_prefix;
Expand Down Expand Up @@ -951,23 +952,23 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
}

if (run_commit_hook(use_editor, index_file, "prepare-commit-msg",
git_path(commit_editmsg), hook_arg1, hook_arg2, NULL))
git_path_commit_editmsg(), hook_arg1, hook_arg2, NULL))
return 0;

if (use_editor) {
char index[PATH_MAX];
const char *env[2] = { NULL };
env[0] = index;
snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", index_file);
if (launch_editor(git_path(commit_editmsg), NULL, env)) {
if (launch_editor(git_path_commit_editmsg(), NULL, env)) {
fprintf(stderr,
_("Please supply the message using either -m or -F option.\n"));
exit(1);
}
}

if (!no_verify &&
run_commit_hook(use_editor, index_file, "commit-msg", git_path(commit_editmsg), NULL)) {
run_commit_hook(use_editor, index_file, "commit-msg", git_path_commit_editmsg(), NULL)) {
return 0;
}

Expand Down Expand Up @@ -1738,7 +1739,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)

/* Finally, get the commit message */
strbuf_reset(&sb);
if (strbuf_read_file(&sb, git_path(commit_editmsg), 0) < 0) {
if (strbuf_read_file(&sb, git_path_commit_editmsg(), 0) < 0) {
int saved_errno = errno;
rollback_index_files();
die(_("could not read commit message: %s"), strerror(saved_errno));
Expand Down

0 comments on commit e51b0df

Please sign in to comment.