Sven Strickroth <sven@xxxxxxxxxx> writes: > When concluding a conflicted "git merge --squash", the command > failed to read SQUASH_MSG that was prepared by "git merge", and > showed only the "# Conflicts:" list of conflicted paths. > > Place the contents from SQUASH_MSG at the beginning, just like we > show the commit log skeleton first when concluding a normal merge, > and then show the "# Conflicts:" list, to help the user write the > log message for the resulting commit. > > Signed-off-by: Sven Strickroth <sven@xxxxxxxxxx> > --- > builtin/commit.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) The updated code looks good to me; sorry for misleading you with fuzzy comments earlier. We may want to have a test to prevent this from getting broken in the future updates. > diff --git a/builtin/commit.c b/builtin/commit.c > index d054f84..d40b788 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -726,9 +726,18 @@ static int prepare_to_commit(const char *index_file, const char *prefix, > &sb, &ctx); > hook_arg1 = "message"; > } else if (!stat(git_path_merge_msg(), &statbuf)) { > + /* > + * prepend SQUASH_MSG here if it exists and a > + * "merge --squash" was originally performed > + */ > + if (!stat(git_path_squash_msg(), &statbuf)) { > + if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0) > + die_errno(_("could not read SQUASH_MSG")); > + hook_arg1 = "squash"; > + } else > + hook_arg1 = "merge"; > if (strbuf_read_file(&sb, git_path_merge_msg(), 0) < 0) > die_errno(_("could not read MERGE_MSG")); > - hook_arg1 = "merge"; > } else if (!stat(git_path_squash_msg(), &statbuf)) { > if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0) > die_errno(_("could not read SQUASH_MSG")); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html