]> git.ipfire.org Git - thirdparty/git.git/blobdiff - wt-status.c
The fifth batch
[thirdparty/git.git] / wt-status.c
index 2db4bb3a1293bb69e081efcf98489a63ca2d812a..ff4be071ca4f8366e4ddf926cf1fc94aea195eca 100644 (file)
@@ -70,7 +70,7 @@ static void status_vprintf(struct wt_status *s, int at_bol, const char *color,
        strbuf_vaddf(&sb, fmt, ap);
        if (!sb.len) {
                if (s->display_comment_prefix) {
        strbuf_vaddf(&sb, fmt, ap);
        if (!sb.len) {
                if (s->display_comment_prefix) {
-                       strbuf_addch(&sb, comment_line_char);
+                       strbuf_addstr(&sb, comment_line_str);
                        if (!trail)
                                strbuf_addch(&sb, ' ');
                }
                        if (!trail)
                                strbuf_addch(&sb, ' ');
                }
@@ -85,7 +85,7 @@ static void status_vprintf(struct wt_status *s, int at_bol, const char *color,
 
                strbuf_reset(&linebuf);
                if (at_bol && s->display_comment_prefix) {
 
                strbuf_reset(&linebuf);
                if (at_bol && s->display_comment_prefix) {
-                       strbuf_addch(&linebuf, comment_line_char);
+                       strbuf_addstr(&linebuf, comment_line_str);
                        if (*line != '\n' && *line != '\t')
                                strbuf_addch(&linebuf, ' ');
                }
                        if (*line != '\n' && *line != '\t')
                                strbuf_addch(&linebuf, ' ');
                }
@@ -145,7 +145,8 @@ void wt_status_prepare(struct repository *r, struct wt_status *s)
        s->show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
        s->use_color = -1;
        s->relative_paths = 1;
        s->show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
        s->use_color = -1;
        s->relative_paths = 1;
-       s->branch = resolve_refdup("HEAD", 0, NULL, NULL);
+       s->branch = refs_resolve_refdup(get_main_ref_store(the_repository),
+                                       "HEAD", 0, NULL, NULL);
        s->reference = "HEAD";
        s->fp = stdout;
        s->index_file = get_index_file();
        s->reference = "HEAD";
        s->fp = stdout;
        s->index_file = get_index_file();
@@ -976,7 +977,8 @@ static int stash_count_refs(struct object_id *ooid UNUSED,
 static int count_stash_entries(void)
 {
        int n = 0;
 static int count_stash_entries(void)
 {
        int n = 0;
-       for_each_reflog_ent("refs/stash", stash_count_refs, &n);
+       refs_for_each_reflog_ent(get_main_ref_store(the_repository),
+                                "refs/stash", stash_count_refs, &n);
        return n;
 }
 
        return n;
 }
 
@@ -1028,7 +1030,7 @@ static void wt_longstatus_print_submodule_summary(struct wt_status *s, int uncom
        if (s->display_comment_prefix) {
                size_t len;
                summary_content = strbuf_detach(&summary, &len);
        if (s->display_comment_prefix) {
                size_t len;
                summary_content = strbuf_detach(&summary, &len);
-               strbuf_add_commented_lines(&summary, summary_content, len, comment_line_char);
+               strbuf_add_commented_lines(&summary, summary_content, len, comment_line_str);
                free(summary_content);
        }
 
                free(summary_content);
        }
 
@@ -1090,7 +1092,7 @@ size_t wt_status_locate_end(const char *s, size_t len)
        const char *p;
        struct strbuf pattern = STRBUF_INIT;
 
        const char *p;
        struct strbuf pattern = STRBUF_INIT;
 
-       strbuf_addf(&pattern, "\n%c %s", comment_line_char, cut_line);
+       strbuf_addf(&pattern, "\n%s %s", comment_line_str, cut_line);
        if (starts_with(s, pattern.buf + 1))
                len = 0;
        else if ((p = strstr(s, pattern.buf))) {
        if (starts_with(s, pattern.buf + 1))
                len = 0;
        else if ((p = strstr(s, pattern.buf))) {
@@ -1106,8 +1108,8 @@ void wt_status_append_cut_line(struct strbuf *buf)
 {
        const char *explanation = _("Do not modify or remove the line above.\nEverything below it will be ignored.");
 
 {
        const char *explanation = _("Do not modify or remove the line above.\nEverything below it will be ignored.");
 
-       strbuf_commented_addf(buf, comment_line_char, "%s", cut_line);
-       strbuf_add_commented_lines(buf, explanation, strlen(explanation), comment_line_char);
+       strbuf_commented_addf(buf, comment_line_str, "%s", cut_line);
+       strbuf_add_commented_lines(buf, explanation, strlen(explanation), comment_line_str);
 }
 
 void wt_status_add_cut_line(struct wt_status *s)
 }
 
 void wt_status_add_cut_line(struct wt_status *s)
@@ -1183,8 +1185,6 @@ static void wt_longstatus_print_tracking(struct wt_status *s)
        struct strbuf sb = STRBUF_INIT;
        const char *cp, *ep, *branch_name;
        struct branch *branch;
        struct strbuf sb = STRBUF_INIT;
        const char *cp, *ep, *branch_name;
        struct branch *branch;
-       char comment_line_string[3];
-       int i;
        uint64_t t_begin = 0;
 
        assert(s->branch && !s->is_initial);
        uint64_t t_begin = 0;
 
        assert(s->branch && !s->is_initial);
@@ -1209,20 +1209,15 @@ static void wt_longstatus_print_tracking(struct wt_status *s)
                }
        }
 
                }
        }
 
-       i = 0;
-       if (s->display_comment_prefix) {
-               comment_line_string[i++] = comment_line_char;
-               comment_line_string[i++] = ' ';
-       }
-       comment_line_string[i] = '\0';
-
        for (cp = sb.buf; (ep = strchr(cp, '\n')) != NULL; cp = ep + 1)
                color_fprintf_ln(s->fp, color(WT_STATUS_HEADER, s),
        for (cp = sb.buf; (ep = strchr(cp, '\n')) != NULL; cp = ep + 1)
                color_fprintf_ln(s->fp, color(WT_STATUS_HEADER, s),
-                                "%s%.*s", comment_line_string,
+                                "%s%s%.*s",
+                                s->display_comment_prefix ? comment_line_str : "",
+                                s->display_comment_prefix ? " " : "",
                                 (int)(ep - cp), cp);
        if (s->display_comment_prefix)
                                 (int)(ep - cp), cp);
        if (s->display_comment_prefix)
-               color_fprintf_ln(s->fp, color(WT_STATUS_HEADER, s), "%c",
-                                comment_line_char);
+               color_fprintf_ln(s->fp, color(WT_STATUS_HEADER, s), "%s",
+                                comment_line_str);
        else
                fputs("\n", s->fp);
        strbuf_release(&sb);
        else
                fputs("\n", s->fp);
        strbuf_release(&sb);
@@ -1311,10 +1306,10 @@ static int split_commit_in_progress(struct wt_status *s)
            !s->branch || strcmp(s->branch, "HEAD"))
                return 0;
 
            !s->branch || strcmp(s->branch, "HEAD"))
                return 0;
 
-       if (read_ref_full("HEAD", RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
-                         &head_oid, &head_flags) ||
-           read_ref_full("ORIG_HEAD", RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
-                         &orig_head_oid, &orig_head_flags))
+       if (refs_read_ref_full(get_main_ref_store(the_repository), "HEAD", RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
+                              &head_oid, &head_flags) ||
+           refs_read_ref_full(get_main_ref_store(the_repository), "ORIG_HEAD", RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
+                              &orig_head_oid, &orig_head_flags))
                return 0;
        if (head_flags & REF_ISSYMREF || orig_head_flags & REF_ISSYMREF)
                return 0;
                return 0;
        if (head_flags & REF_ISSYMREF || orig_head_flags & REF_ISSYMREF)
                return 0;
@@ -1389,7 +1384,7 @@ static int read_rebase_todolist(const char *fname, struct string_list *lines)
                          git_path("%s", fname));
        }
        while (!strbuf_getline_lf(&line, f)) {
                          git_path("%s", fname));
        }
        while (!strbuf_getline_lf(&line, f)) {
-               if (line.len && line.buf[0] == comment_line_char)
+               if (starts_with(line.buf, comment_line_str))
                        continue;
                strbuf_trim(&line);
                if (!line.len)
                        continue;
                strbuf_trim(&line);
                if (!line.len)
@@ -1686,7 +1681,7 @@ static void wt_status_get_detached_from(struct repository *r,
        char *ref = NULL;
 
        strbuf_init(&cb.buf, 0);
        char *ref = NULL;
 
        strbuf_init(&cb.buf, 0);
-       if (for_each_reflog_ent_reverse("HEAD", grab_1st_switch, &cb) <= 0) {
+       if (refs_for_each_reflog_ent_reverse(get_main_ref_store(the_repository), "HEAD", grab_1st_switch, &cb) <= 0) {
                strbuf_release(&cb.buf);
                return;
        }
                strbuf_release(&cb.buf);
                return;
        }
@@ -2094,7 +2089,8 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
                upstream_is_gone = 1;
        }
 
                upstream_is_gone = 1;
        }
 
-       short_base = shorten_unambiguous_ref(base, 0);
+       short_base = refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
+                                                 base, 0);
        color_fprintf(s->fp, header_color, "...");
        color_fprintf(s->fp, branch_color_remote, "%s", short_base);
        free(short_base);
        color_fprintf(s->fp, header_color, "...");
        color_fprintf(s->fp, branch_color_remote, "%s", short_base);
        free(short_base);
@@ -2227,7 +2223,8 @@ static void wt_porcelain_v2_print_tracking(struct wt_status *s)
                ab_info = stat_tracking_info(branch, &nr_ahead, &nr_behind,
                                             &base, 0, s->ahead_behind_flags);
                if (base) {
                ab_info = stat_tracking_info(branch, &nr_ahead, &nr_behind,
                                             &base, 0, s->ahead_behind_flags);
                if (base) {
-                       base = shorten_unambiguous_ref(base, 0);
+                       base = refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
+                                                           base, 0);
                        fprintf(s->fp, "# branch.upstream %s%c", base, eol);
                        free((char *)base);
 
                        fprintf(s->fp, "# branch.upstream %s%c", base, eol);
                        free((char *)base);