From 50e4f757f4adda096239c1ad60499cf606bf2c6f Mon Sep 17 00:00:00 2001 From: Jorge Juan Garcia Garcia Date: Tue, 11 Jun 2013 15:34:04 +0200 Subject: [PATCH 1/2] status: introduce status.short to enable --short by default Some people always run 'git status -s'. The configuration variable status.short allows to set it by default. Signed-off-by: Jorge Juan Garcia Garcia Signed-off-by: Mathieu Lienard--Mayor Reviewed-by: Matthieu Moy Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- Documentation/config.txt | 4 ++++ builtin/commit.c | 7 +++++++ t/t7508-status.sh | 30 ++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/Documentation/config.txt b/Documentation/config.txt index 6e53fc5074..1983bf7427 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -2066,6 +2066,10 @@ status.relativePaths:: relative to the repository root (this was the default for Git prior to v1.5.4). +status.short:: + Set to true to enable --short by default in linkgit:git-status[1]. + The option --no-short takes precedence over this variable. + 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 d2f30d960a..b2f41dea20 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1110,6 +1110,13 @@ static int git_status_config(const char *k, const char *v, void *cb) s->submodule_summary = -1; return 0; } + if (!strcmp(k, "status.short")) { + if (git_config_bool(k, v)) + status_format = STATUS_FORMAT_SHORT; + else + status_format = STATUS_FORMAT_NONE; + 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 e2ffdacc26..33cadd08c7 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -1335,4 +1335,34 @@ test_expect_failure '.git/config ignore=all suppresses submodule summary' ' git config -f .gitmodules --remove-section submodule.subname ' +test_expect_success 'setup of test environment' ' + git config status.showUntrackedFiles no && + git status -s >expected_short && + git status --no-short >expected_noshort +' + +test_expect_success '"status.short=true" same as "-s"' ' + git -c status.short=true status >actual && + test_cmp expected_short actual +' + +test_expect_success '"status.short=true" weaker than "--no-short"' ' + git -c status.short=true status --no-short >actual && + test_cmp expected_noshort actual +' + +test_expect_success '"status.short=false" same as "--no-short"' ' + git -c status.short=false status >actual && + test_cmp expected_noshort actual +' + +test_expect_success '"status.short=false" weaker than "-s"' ' + git -c status.short=false status -s >actual && + test_cmp expected_short actual +' + +test_expect_success 'Restore default test environment' ' + git config --unset status.showUntrackedFiles +' + test_done From 0e254bbd22ba3f62c0bbf5055c307391a5920eaa Mon Sep 17 00:00:00 2001 From: Jorge Juan Garcia Garcia Date: Tue, 11 Jun 2013 15:34:05 +0200 Subject: [PATCH 2/2] status: introduce status.branch to enable --branch by default 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 Signed-off-by: Mathieu Lienard--Mayor Reviewed-by: Matthieu Moy Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- Documentation/config.txt | 4 ++++ builtin/commit.c | 4 ++++ t/t7508-status.sh | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/Documentation/config.txt b/Documentation/config.txt index 1983bf7427..ecdcd6dd99 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -2070,6 +2070,10 @@ status.short:: Set to true to enable --short by default in linkgit:git-status[1]. The option --no-short takes precedence over this variable. +status.branch:: + Set to true to enable --branch by default in linkgit:git-status[1]. + The option --no-branch takes precedence over this variable. + 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 b2f41dea20..d6c8e204ee 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1117,6 +1117,10 @@ static int git_status_config(const char *k, const char *v, void *cb) status_format = STATUS_FORMAT_NONE; return 0; } + if (!strcmp(k, "status.branch")) { + 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 33cadd08c7..498332ce0a 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -1361,6 +1361,33 @@ test_expect_success '"status.short=false" weaker than "-s"' ' test_cmp expected_short actual ' +test_expect_success '"status.branch=true" same as "-b"' ' + git status -sb >expected_branch && + git -c status.branch=true status -s >actual && + test_cmp expected_branch actual +' + +test_expect_success '"status.branch=true" different from "--no-branch"' ' + git status -s --no-branch >expected_nobranch && + git -c status.branch=true status -s >actual && + test_must_fail test_cmp expected_nobranch actual +' + +test_expect_success '"status.branch=true" weaker than "--no-branch"' ' + git -c status.branch=true status -s --no-branch >actual && + test_cmp expected_nobranch actual +' + +test_expect_success '"status.branch=false" same as "--no-branch"' ' + git -c status.branch=false status -s >actual && + test_cmp expected_nobranch actual +' + +test_expect_success '"status.branch=false" weaker than "-b"' ' + git -c status.branch=false status -sb >actual && + test_cmp expected_branch actual +' + test_expect_success 'Restore default test environment' ' git config --unset status.showUntrackedFiles '