]> git.ipfire.org Git - thirdparty/git.git/blobdiff - wt-status.c
rev-parse: handle --end-of-options
[thirdparty/git.git] / wt-status.c
index 4345eb1749794f62861137b3d438d2e7e9779919..7074bbdd53cc1141c75546ad6e009b5ac74a63c2 100644 (file)
@@ -259,8 +259,6 @@ static void wt_longstatus_print_trailer(struct wt_status *s)
        status_printf_ln(s, color(WT_STATUS_HEADER, s), "%s", "");
 }
 
-#define quote_path quote_path_relative
-
 static const char *wt_status_unmerged_status_string(int stagemask)
 {
        switch (stagemask) {
@@ -338,7 +336,7 @@ static void wt_longstatus_print_unmerged_data(struct wt_status *s,
                memset(padding, ' ', label_width);
        }
 
-       one = quote_path(it->string, s->prefix, &onebuf);
+       one = quote_path(it->string, s->prefix, &onebuf, 0);
        status_printf(s, color(WT_STATUS_HEADER, s), "\t");
 
        how = wt_status_unmerged_status_string(d->stagemask);
@@ -404,8 +402,8 @@ static void wt_longstatus_print_change_data(struct wt_status *s,
        if (d->rename_status == status)
                one_name = d->rename_source;
 
-       one = quote_path(one_name, s->prefix, &onebuf);
-       two = quote_path(two_name, s->prefix, &twobuf);
+       one = quote_path(one_name, s->prefix, &onebuf, 0);
+       two = quote_path(two_name, s->prefix, &twobuf, 0);
 
        status_printf(s, color(WT_STATUS_HEADER, s), "\t");
        what = wt_status_diff_status_string(status);
@@ -971,7 +969,7 @@ static void wt_longstatus_print_other(struct wt_status *s,
                struct string_list_item *it;
                const char *path;
                it = &(l->items[i]);
-               path = quote_path(it->string, s->prefix, &buf);
+               path = quote_path(it->string, s->prefix, &buf, 0);
                if (column_active(s->colopts)) {
                        string_list_append(&output, path);
                        continue;
@@ -1574,7 +1572,7 @@ static void wt_status_get_detached_from(struct repository *r,
                return;
        }
 
-       if (dwim_ref(cb.buf.buf, cb.buf.len, &oid, &ref) == 1 &&
+       if (dwim_ref(cb.buf.buf, cb.buf.len, &oid, &ref, 1) == 1 &&
            /* oid is a commit? match without further lookup */
            (oideq(&cb.noid, &oid) ||
             /* perhaps oid is a tag, try to dereference to a commit */
@@ -1862,7 +1860,7 @@ static void wt_shortstatus_unmerged(struct string_list_item *it,
        } else {
                struct strbuf onebuf = STRBUF_INIT;
                const char *one;
-               one = quote_path(it->string, s->prefix, &onebuf);
+               one = quote_path(it->string, s->prefix, &onebuf, QUOTE_PATH_QUOTE_SP);
                fprintf(s->fp, " %s\n", one);
                strbuf_release(&onebuf);
        }
@@ -1891,21 +1889,12 @@ static void wt_shortstatus_status(struct string_list_item *it,
                const char *one;
 
                if (d->rename_source) {
-                       one = quote_path(d->rename_source, s->prefix, &onebuf);
-                       if (*one != '"' && strchr(one, ' ') != NULL) {
-                               fputc('"', s->fp);
-                               strbuf_addch(&onebuf, '"');
-                               one = onebuf.buf;
-                       }
+                       one = quote_path(d->rename_source, s->prefix, &onebuf,
+                                        QUOTE_PATH_QUOTE_SP);
                        fprintf(s->fp, "%s -> ", one);
                        strbuf_release(&onebuf);
                }
-               one = quote_path(it->string, s->prefix, &onebuf);
-               if (*one != '"' && strchr(one, ' ') != NULL) {
-                       fputc('"', s->fp);
-                       strbuf_addch(&onebuf, '"');
-                       one = onebuf.buf;
-               }
+               one = quote_path(it->string, s->prefix, &onebuf, QUOTE_PATH_QUOTE_SP);
                fprintf(s->fp, "%s\n", one);
                strbuf_release(&onebuf);
        }
@@ -1919,7 +1908,7 @@ static void wt_shortstatus_other(struct string_list_item *it,
        } else {
                struct strbuf onebuf = STRBUF_INIT;
                const char *one;
-               one = quote_path(it->string, s->prefix, &onebuf);
+               one = quote_path(it->string, s->prefix, &onebuf, QUOTE_PATH_QUOTE_SP);
                color_fprintf(s->fp, color(WT_STATUS_UNTRACKED, s), "%s", sign);
                fprintf(s->fp, " %s\n", one);
                strbuf_release(&onebuf);
@@ -2236,9 +2225,9 @@ static void wt_porcelain_v2_print_changed_entry(
                 */
                sep_char = '\t';
                eol_char = '\n';
-               path = quote_path(it->string, s->prefix, &buf);
+               path = quote_path(it->string, s->prefix, &buf, 0);
                if (d->rename_source)
-                       path_from = quote_path(d->rename_source, s->prefix, &buf_from);
+                       path_from = quote_path(d->rename_source, s->prefix, &buf_from, 0);
        }
 
        if (path_from)
@@ -2324,7 +2313,7 @@ static void wt_porcelain_v2_print_unmerged_entry(
        if (s->null_termination)
                path_index = it->string;
        else
-               path_index = quote_path(it->string, s->prefix, &buf_index);
+               path_index = quote_path(it->string, s->prefix, &buf_index, 0);
 
        fprintf(s->fp, "%c %s %s %06o %06o %06o %06o %s %s %s %s%c",
                        unmerged_prefix, key, submodule_token,
@@ -2357,7 +2346,7 @@ static void wt_porcelain_v2_print_other(
                path = it->string;
                eol_char = '\0';
        } else {
-               path = quote_path(it->string, s->prefix, &buf);
+               path = quote_path(it->string, s->prefix, &buf, 0);
                eol_char = '\n';
        }