Code

Merge branch 'maint'
[git.git] / wt-status.c
index de1be5bc66de634e41c7ef3dee08209631249e13..db427384ff454aa07e38c588537cbaa6b835dee6 100644 (file)
@@ -1,6 +1,6 @@
+#include "cache.h"
 #include "wt-status.h"
 #include "color.h"
-#include "cache.h"
 #include "object.h"
 #include "dir.h"
 #include "commit.h"
@@ -15,12 +15,14 @@ static char wt_status_colors[][COLOR_MAXLEN] = {
        "\033[31m", /* WT_STATUS_CHANGED: red */
        "\033[31m", /* WT_STATUS_UNTRACKED: red */
 };
+static const char* use_add_msg = "use \"git add file1 file2\" to include for commit";
 
 static int parse_status_slot(const char *var, int offset)
 {
        if (!strcasecmp(var+offset, "header"))
                return WT_STATUS_HEADER;
-       if (!strcasecmp(var+offset, "updated"))
+       if (!strcasecmp(var+offset, "updated")
+               || !strcasecmp(var+offset, "added"))
                return WT_STATUS_UPDATED;
        if (!strcasecmp(var+offset, "changed"))
                return WT_STATUS_CHANGED;
@@ -145,7 +147,7 @@ static void wt_status_print_updated_cb(struct diff_queue_struct *q,
                if (q->queue[i]->status == 'U')
                        continue;
                if (!shown_header) {
-                       wt_status_print_header("Updated but not checked in",
+                       wt_status_print_header("Added but not yet committed",
                                        "will commit");
                        s->commitable = 1;
                        shown_header = 1;
@@ -162,8 +164,7 @@ static void wt_status_print_changed_cb(struct diff_queue_struct *q,
 {
        int i;
        if (q->nr)
-               wt_status_print_header("Changed but not updated",
-                               "use git-update-index to mark for commit");
+               wt_status_print_header("Changed but not added", use_add_msg);
        for (i = 0; i < q->nr; i++)
                wt_status_print_filepair(WT_STATUS_CHANGED, q->queue[i]);
        if (q->nr)
@@ -178,7 +179,7 @@ void wt_status_print_initial(struct wt_status *s)
        read_cache();
        if (active_nr) {
                s->commitable = 1;
-               wt_status_print_header("Updated but not checked in",
+               wt_status_print_header("Added but not yet committed",
                                "will commit");
        }
        for (i = 0; i < active_nr; i++) {
@@ -249,8 +250,7 @@ static void wt_status_print_untracked(const struct wt_status *s)
                                continue;
                }
                if (!shown_header) {
-                       wt_status_print_header("Untracked files",
-                               "use \"git add\" to add to commit");
+                       wt_status_print_header("Untracked files", use_add_msg);
                        shown_header = 1;
                }
                color_printf(color(WT_STATUS_HEADER), "#\t");
@@ -271,7 +271,7 @@ static void wt_status_print_verbose(struct wt_status *s)
 
 void wt_status_print(struct wt_status *s)
 {
-       if (s->branch && strcmp(s->branch, "refs/heads/master"))
+       if (s->branch)
                color_printf_ln(color(WT_STATUS_HEADER),
                        "# On branch %s", s->branch);
 
@@ -292,16 +292,18 @@ void wt_status_print(struct wt_status *s)
        if (s->verbose && !s->is_initial)
                wt_status_print_verbose(s);
        if (!s->commitable)
-               printf("%s\n", s->amend ? "# No changes" : "nothing to commit");
+               printf("%s (%s)\n",
+                       s->amend ? "# No changes" : "nothing to commit",
+                       use_add_msg);
 }
 
 int git_status_config(const char *k, const char *v)
 {
-       if (!strcmp(k, "status.color")) {
+       if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
                wt_status_use_color = git_config_colorbool(k, v);
                return 0;
        }
-       if (!strncmp(k, "status.color.", 13)) {
+       if (!strncmp(k, "status.color.", 13) || !strncmp(k, "color.status", 13)) {
                int slot = parse_status_slot(k, 13);
                color_parse(v, k, wt_status_colors[slot]);
        }