checkout: tone down the "forked status" diagnostic messages
[gitweb.git] / builtin-fmt-merge-msg.c
index 87d3d63ec71ec7f08127085330d28ed28e3f35c7..6163bd4975e3e361e36ffc89ea4c91d0edd02949 100644 (file)
@@ -81,7 +81,7 @@ static int handle_line(char *line)
        if (len < 43 || line[40] != '\t')
                return 1;
 
-       if (!strncmp(line + 41, "not-for-merge", 13))
+       if (!prefixcmp(line + 41, "not-for-merge"))
                return 0;
 
        if (line[41] != '\t')
@@ -119,15 +119,15 @@ static int handle_line(char *line)
        if (pulling_head) {
                origin = xstrdup(src);
                src_data->head_status |= 1;
-       } else if (!strncmp(line, "branch ", 7)) {
+       } else if (!prefixcmp(line, "branch ")) {
                origin = xstrdup(line + 7);
                append_to_list(&src_data->branch, origin, NULL);
                src_data->head_status |= 2;
-       } else if (!strncmp(line, "tag ", 4)) {
+       } else if (!prefixcmp(line, "tag ")) {
                origin = line;
                append_to_list(&src_data->tag, xstrdup(origin + 4), NULL);
                src_data->head_status |= 2;
-       } else if (!strncmp(line, "remote branch ", 14)) {
+       } else if (!prefixcmp(line, "remote branch ")) {
                origin = xstrdup(line + 14);
                append_to_list(&src_data->r_branch, origin, NULL);
                src_data->head_status |= 2;
@@ -140,12 +140,10 @@ static int handle_line(char *line)
        if (!strcmp(".", src) || !strcmp(src, origin)) {
                int len = strlen(origin);
                if (origin[0] == '\'' && origin[len - 1] == '\'') {
-                       char *new_origin = xmalloc(len - 1);
-                       memcpy(new_origin, origin + 1, len - 2);
-                       new_origin[len - 2] = 0;
-                       origin = new_origin;
-               } else
+                       origin = xmemdupz(origin + 1, len - 2);
+               } else {
                        origin = xstrdup(origin);
+               }
        } else {
                char *new_origin = xmalloc(strlen(origin) + strlen(src) + 5);
                sprintf(new_origin, "%s of %s", origin, src);
@@ -178,7 +176,7 @@ static void shortlog(const char *name, unsigned char *sha1,
        struct commit *commit;
        struct object *branch;
        struct list subjects = { NULL, NULL, 0, 0 };
-       int flags = UNINTERESTING | TREECHANGE | SEEN | SHOWN | ADDED;
+       int flags = UNINTERESTING | TREESAME | SEEN | SHOWN | ADDED;
 
        branch = deref_tag(parse_object(sha1), sha1_to_hex(sha1), 40);
        if (!branch || branch->type != OBJ_COMMIT)
@@ -211,14 +209,11 @@ static void shortlog(const char *name, unsigned char *sha1,
 
                bol += 2;
                eol = strchr(bol, '\n');
-
                if (eol) {
-                       int len = eol - bol;
-                       oneline = xmalloc(len + 1);
-                       memcpy(oneline, bol, len);
-                       oneline[len] = 0;
-               } else
+                       oneline = xmemdupz(bol, eol - bol);
+               } else {
                        oneline = xstrdup(bol);
+               }
                append_to_list(&subjects, oneline, NULL);
        }
 
@@ -259,13 +254,15 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
                else if (!strcmp(argv[1], "--no-summary"))
                        merge_summary = 0;
                else if (!strcmp(argv[1], "-F") || !strcmp(argv[1], "--file")) {
-                       if (argc < 2)
+                       if (argc < 3)
                                die ("Which file?");
                        if (!strcmp(argv[2], "-"))
                                in = stdin;
                        else {
                                fclose(in);
                                in = fopen(argv[2], "r");
+                               if (!in)
+                                       die("cannot open %s", argv[2]);
                        }
                        argc--; argv++;
                } else
@@ -280,7 +277,7 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
        current_branch = resolve_ref("HEAD", head_sha1, 1, NULL);
        if (!current_branch)
                die("No current branch");
-       if (!strncmp(current_branch, "refs/heads/", 11))
+       if (!prefixcmp(current_branch, "refs/heads/"))
                current_branch += 11;
 
        while (fgets(line, sizeof(line), in)) {
@@ -355,4 +352,3 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
 
        return 0;
 }
-