OSDN Git Service

status: add color config slots for branch info in "--short --branch"
authorStephen Kent <smkent@smkent.net>
Sat, 22 Apr 2017 05:42:02 +0000 (22:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Apr 2017 02:50:52 +0000 (11:50 +0900)
Add color config slots to be used in the status short-format when
displaying local and remote tracking branch information.

[jc: rebased on top of Peff's fix to 'git status' and tweaked the
test to check both local and remote-tracking branch output]

Signed-off-by: Stephen Kent <smkent@smkent.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
builtin/commit.c
contrib/completion/git-completion.bash
t/t7508-status.sh

index 475e874..96e9cf8 100644 (file)
@@ -1137,7 +1137,10 @@ color.status.<slot>::
        `untracked` (files which are not tracked by Git),
        `branch` (the current branch),
        `nobranch` (the color the 'no branch' warning is shown in, defaulting
-       to red), or
+       to red),
+       `localBranch` or `remoteBranch` (the local and remote branch names,
+       respectively, when branch and tracking information is displayed in the
+       status short-format), or
        `unmerged` (files which have unmerged changes).
 
 color.ui::
index 1d805f5..9028bfa 100644 (file)
@@ -1263,6 +1263,10 @@ static int parse_status_slot(const char *slot)
                return WT_STATUS_NOBRANCH;
        if (!strcasecmp(slot, "unmerged"))
                return WT_STATUS_UNMERGED;
+       if (!strcasecmp(slot, "localBranch"))
+               return WT_STATUS_LOCAL_BRANCH;
+       if (!strcasecmp(slot, "remoteBranch"))
+               return WT_STATUS_REMOTE_BRANCH;
        return -1;
 }
 
index b617019..72c6d58 100644 (file)
@@ -2378,7 +2378,9 @@ _git_config ()
                color.status.added
                color.status.changed
                color.status.header
+               color.status.localBranch
                color.status.nobranch
+               color.status.remoteBranch
                color.status.unmerged
                color.status.untracked
                color.status.updated
index a000ed4..567c4d4 100755 (executable)
@@ -661,7 +661,9 @@ test_expect_success 'status --porcelain ignores relative paths setting' '
 test_expect_success 'setup unique colors' '
 
        git config status.color.untracked blue &&
-       git config status.color.branch green
+       git config status.color.branch green &&
+       git config status.color.localBranch yellow &&
+       git config status.color.remoteBranch cyan
 
 '
 
@@ -730,7 +732,7 @@ test_expect_success 'status -s with color.status' '
 '
 
 cat >expect <<\EOF
-## <GREEN>master<RESET>...<RED>upstream<RESET> [ahead <GREEN>1<RESET>, behind <RED>2<RESET>]
+## <YELLOW>master<RESET>...<CYAN>upstream<RESET> [ahead <YELLOW>1<RESET>, behind <CYAN>2<RESET>]
  <RED>M<RESET> dir1/modified
 <GREEN>A<RESET>  dir2/added
 <BLUE>??<RESET> dir1/untracked