]> Pileus Git - ~andy/git/blobdiff - builtin-fmt-merge-msg.c
t4127-apply-same-fn: Avoid sed -i
[~andy/git] / builtin-fmt-merge-msg.c
index d49f5454e8d77a090fca28ce5f5b7db93f14287b..b892621ab50346ff29a0a1335de76e3f2fbbc723 100644 (file)
@@ -10,7 +10,7 @@ static const char *fmt_merge_msg_usage =
 
 static int merge_summary;
 
-static int fmt_merge_msg_config(const char *key, const char *value)
+static int fmt_merge_msg_config(const char *key, const char *value, void *cb)
 {
        static int found_merge_log = 0;
        if (!strcmp("merge.log", key)) {
@@ -206,6 +206,15 @@ static void shortlog(const char *name, unsigned char *sha1,
                        continue;
 
                bol = strstr(commit->buffer, "\n\n");
+               if (bol) {
+                       unsigned char c;
+                       do {
+                               c = *++bol;
+                       } while (isspace(c));
+                       if (!c)
+                               bol = NULL;
+               }
+
                if (!bol) {
                        append_to_list(&subjects, xstrdup(sha1_to_hex(
                                                        commit->object.sha1)),
@@ -213,7 +222,6 @@ static void shortlog(const char *name, unsigned char *sha1,
                        continue;
                }
 
-               bol += 2;
                eol = strchr(bol, '\n');
                if (eol) {
                        oneline = xmemdupz(bol, eol - bol);
@@ -252,7 +260,7 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
        unsigned char head_sha1[20];
        const char *current_branch;
 
-       git_config(fmt_merge_msg_config);
+       git_config(fmt_merge_msg_config, NULL);
 
        while (argc > 1) {
                if (!strcmp(argv[1], "--log") || !strcmp(argv[1], "--summary"))