Some people often run 'git status -b'.
The config variable status.branch allows to set it by default.

Signed-off-by: Jorge Juan Garcia Garcia 
<jorge-juan.garcia-gar...@ensimag.imag.fr>
Signed-off-by: Mathieu Lienard--Mayor <mathieu.lienard--ma...@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <matthieu....@grenoble-inp.fr>
---
 Documentation/config.txt |    3 +++
 builtin/commit.c         |    6 ++++++
 t/t7508-status.sh        |   30 ++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 80cdf75..21ba9c2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -2069,6 +2069,9 @@ status.relativePaths::
 status.short::
        Set to true to enable --short by default in linkgit:git-status[1].
 
+status.branch::
+       Set to true to enable --branch by default in linkgit:git-status[1].
+
 status.showUntrackedFiles::
        By default, linkgit:git-status[1] and linkgit:git-commit[1] show
        files which are not currently tracked by Git. Directories which
diff --git a/builtin/commit.c b/builtin/commit.c
index 0f3429f..d447857 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1121,6 +1121,12 @@ static int git_status_config(const char *k, const char 
*v, void *cb)
                }
                return 0;
        }
+       if (!strcmp(k, "status.branch")) {
+               if (!v)
+                       return config_error_nonbool(k);
+               s->show_branch = git_config_bool(k,v);
+               return 0;
+       }
        if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
                s->use_color = git_config_colorbool(k, v);
                return 0;
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 4cb2b62..34cf30f 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -1369,4 +1369,34 @@ test_expect_success '"status.short=false" weaker than 
"-s"' '
     test_cmp status1 status2
 '
 
+test_expect_success '"status.branch=true" same as "-b"' '
+    git -c status.branch=true status -s >status2 &&
+    git status -sb >status1 &&
+    test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=true" different from "--no-branch"' '
+    git -c status.branch=true status -s >status2 &&
+    git status -s --no-branch  >status1 &&
+    test_must_fail test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=true" weaker than "--no-branch"' '
+    git -c status.branch=true status -s --no-branch >status2 &&
+    git status -s --no-branch >status1 &&
+    test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=false" same as "--no-branch"' '
+    git -c status.branch=false status -s >status2 &&
+    git status -s --no-branch >status1 &&
+    test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=false" weaker than "-b"' '
+    git -c status.branch=false status -sb >status2 &&
+    git status -sb >status1 &&
+    test_cmp status1 status2
+'
+
 test_done
-- 
1.7.8

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to